REDES DE ÁREA LOCAL Rev. 7 (07/09/2003) REDES DE ÁREA LOCAL Francisco José Molina Robles Coordinador: José Luis Raya Cabrera Redes de Área Local © Francisco José Molina Robles © De la edición: RA-MA 2003 A mi mujer, M.ª Isabel A mis padres, Francisco y Encarnación A mi hermano, Vicente Javier CONTENIDO AGRADECIMIENTOS ........................................................................................... XV PREFACIO ............................................................................................................XVII CONVENCIONES UTILIZADAS EN ESTE LIBRO ........................................ XXI CAPÍTULO 1. INTRODUCCIÓN A LOS SISTEMAS DE COMUNICACIONES .......................................................................................1 1.1. INTRODUCCIÓN .............................................................................................2 1.1.1. Evolución histórica de las redes.......................................................5 1.2. REPRESENTACIÓN DE LA INFORMACIÓN .......................................................7 1.2.1. Sistemas de numeración...................................................................9 1.2.2. Sistema decimal .............................................................................10 1.2.3. Sistema binario ..............................................................................11 1.2.4. Conversiones entre decimal y binario............................................12 1.2.5. Sistema hexadecimal......................................................................13 1.3. COMUNICACIÓN DE DATOS..........................................................................16 1.3.1. Conceptos ......................................................................................17 1.3.2. Servicios y protocolos....................................................................18 1.3.3. Redes de transmisión de datos .......................................................19 Red Telefónica Conmutada (RTC)................................................20 Télex ..............................................................................................20 Iberpac ...........................................................................................20 Red Digital de Servicios Integrados ..............................................20 Internet...........................................................................................21 ATM ..............................................................................................22 ADSL.............................................................................................22 Frame Relay ..................................................................................22 1.3.4. Clasificación de las redes...............................................................22 Titularidad de la red.......................................................................22 Topología.......................................................................................23 Transferencia de la información ....................................................25 Localización geográfica.................................................................26 1.3.5. Elementos básicos de un sistema de comunicación .......................27 VIII REDES DE ÁREA LOCAL RA-MA 1.4. NORMALIZACIÓN Y ORGANISMOS ...............................................................29 1.5. EJERCICIOS ..................................................................................................31 1.6. BIBLIOGRAFÍA .............................................................................................32 CAPÍTULO 2. ARQUITECTURAS DE REDES ....................................................35 2.1. INTRODUCCIÓN ...........................................................................................35 2.2. ARQUITECTURAS BASADAS EN NIVELES .....................................................36 2.2.1. Problemas en el diseño de la arquitectura de la red .......................48 2.2.2. Tipos de servicios ..........................................................................49 2.2.3. Primitivas de servicios ...................................................................51 2.3. ARQUITECTURAS COMERCIALES .................................................................57 2.3.1. Modelo de referencia OSI..............................................................57 2.3.2. Arquitectura TCP/IP ......................................................................62 2.3.3. SNA de IBM ..................................................................................64 2.3.4. Novell NetWare .............................................................................66 2.3.5. ATM (Asynchronous Transfer Mode) ...........................................68 2.3.6. Red Microsoft ................................................................................71 2.4. ARQUITECTURAS DE REDES Y SISTEMAS OPERATIVOS ................................72 2.5. NORMAS ESTANDARIZADAS ........................................................................74 2.5.1. ARCnet ..........................................................................................74 2.5.2. IEEE 802........................................................................................74 2.5.3. X.25 ...............................................................................................75 2.5.4. RDSI ..............................................................................................76 2.5.5. ADSL.............................................................................................77 2.5.6. Frame Relay...................................................................................77 2.6. EJERCICIOS ..................................................................................................77 2.7. BIBLIOGRAFÍA .............................................................................................79 CAPÍTULO 3. ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS ......81 3.1. INTRODUCCIÓN ...........................................................................................82 3.2. TIPOS DE TRANSMISIÓN ...............................................................................82 3.2.1. Transmisión síncrona y asíncrona..................................................85 3.2.2. Transmisión digital y analógica .....................................................87 3.2.3. Transmisión en serie y en paralelo.................................................88 3.2.4. Transmisión símplex y dúplex .......................................................88 3.2.5. Multiplexación ...............................................................................90 3.3. CARACTERÍSTICAS DE LAS SEÑALES ...........................................................91 3.4. MÉTODOS DE TRANSMISIÓN ........................................................................95 3.4.1. Transmisión digital ........................................................................96 3.4.2. Transmisión analógica (modulación).............................................99 3.5. RUIDO Y CAPACIDAD DE TRANSMISIÓN DE UN CANAL ..............................103 3.5.1. Problemas en la transmisión ........................................................103 3.5.2. Capacidad de transmisión en un canal ideal ................................106 3.5.3. Capacidad de transmisión de un canal con ruido.........................108 3.6. MEDIOS DE TRANSMISIÓN .........................................................................108 3.6.1. Par sin trenzar (paralelo)..............................................................109 3.6.2. Par trenzado .................................................................................110 3.6.3. Cable coaxial................................................................................112 RA-MA CONTENIDO IX 3.6.4. Fibra óptica ..................................................................................116 3.6.5. Medios inalámbricos....................................................................119 Ondas de radio.............................................................................119 Microondas ..................................................................................120 Ondas infrarrojas .........................................................................121 Ondas de luz ................................................................................121 3.6.6. Comparativa de los diferentes medios de transmisión.................121 3.7. INTERCONEXIÓN DE REDES .......................................................................122 3.7.1. Módem .........................................................................................123 3.7.2. Tarjetas de red..............................................................................124 3.7.3. Repetidores y amplificadores.......................................................126 3.7.4. Concentradores de cableado ........................................................127 3.7.5. Redes troncales ............................................................................131 3.8. ESTÁNDARES .............................................................................................131 3.8.1. Puertos de comunicaciones ..........................................................131 3.8.2. Normalización de módem ............................................................132 3.8.3. Redes ARCnet..............................................................................135 3.8.4. Redes Ethernet (IEEE 802.3).......................................................137 3.8.5. Redes Token Ring (IEEE 802.5) ..................................................138 3.8.6. 100VG-AnyLAN .........................................................................139 3.8.7. FDDI ............................................................................................140 3.8.8. Redes inalámbricas (IEEE 802.11) ..............................................146 3.8.9. RDSI de banda estrecha ...............................................................146 3.9. EJERCICIOS ................................................................................................149 3.10. BIBLIOGRAFÍA .........................................................................................151 CAPÍTULO 4. CONTROL DEL ENLACE DE DATOS......................................153 4.1. INTRODUCCIÓN .........................................................................................153 4.2. DISEÑO DEL NIVEL DE ENLACE DE DATOS .................................................154 4.2.1. Servicios proporcionados al nivel de red .....................................155 4.3. FUNCIONES DEL NIVEL DE ENLACE DE DATOS ..........................................156 4.3.1. Control de errores ........................................................................156 4.3.2. Entramado....................................................................................158 4.3.3. Control de flujo............................................................................161 4.3.4. Gestión del medio ........................................................................162 4.3.5. Direccionamiento.........................................................................163 4.4. CÓDIGOS DE CONTROL DE ERRORES..........................................................164 4.4.1. Definiciones relativas a códigos binarios ....................................165 4.4.2. Códigos detectores de error .........................................................165 Códigos de paridad ......................................................................168 Códigos de redundancia cíclica ...................................................170 4.4.3. Códigos detectores y correctores de error....................................172 4.5. PROTOCOLOS A NIVEL MAC .....................................................................175 4.5.1. Protocolos de acceso al medio .....................................................176 ALOHA puro...............................................................................177 ALOHA ranurado........................................................................177 CSMA persistente........................................................................178 CSMA no persistente...................................................................178 X REDES DE ÁREA LOCAL RA-MA CSMA/CD ...................................................................................178 CSMA/CA ...................................................................................179 Paso de testigo .............................................................................179 Mapa de bits ................................................................................179 4.6. INTERCONEXIÓN DE REDES .......................................................................180 4.6.1. Puentes .........................................................................................180 4.6.2. Conmutadores ..............................................................................183 4.7. ESTÁNDARES .............................................................................................185 4.7.1. Protocolo HDLC ..........................................................................185 4.7.2. Protocolo PPP ..............................................................................185 4.7.3. Protocolos NDIS y ODI...............................................................186 4.7.4. Estándar IEEE 802.......................................................................187 4.7.5. Protocolos de nivel de enlace en FDDI........................................189 4.8. EJERCICIOS ................................................................................................189 4.9. BIBLIOGRAFÍA ...........................................................................................192 CAPÍTULO 5. EL NIVEL DE RED .......................................................................195 5.1. INTRODUCCIÓN .........................................................................................196 5.2. EL DISEÑO DE LA CAPA DE RED .................................................................196 5.2.1. Servicios proporcionados al nivel de transporte ..........................198 5.2.2. Organización interna del nivel de red ..........................................198 5.3. FUNCIONES DEL NIVEL DE RED..................................................................199 5.3.1. Encaminamiento de la información .............................................200 5.3.2. Control de la congestión ..............................................................202 5.3.3. Direccionamiento.........................................................................203 5.4. INTERCONEXIÓN DE REDES .......................................................................204 5.5. ESTÁNDARES .............................................................................................206 5.5.1. La capa de red de TCP/IP ............................................................206 Direccionamiento y encaminamiento ..........................................206 Protocolo IP versión 6 .................................................................224 Protocolo ARP.............................................................................227 Asignación dinámica de direcciones: DHCP...............................229 5.5.2. Protocolo IPX ..............................................................................230 5.5.3. Protocolos de red de Microsoft ....................................................231 5.6. EJERCICIOS ................................................................................................232 5.7. BIBLIOGRAFÍA ...........................................................................................234 CAPÍTULO 6. EL NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN........................................................................235 6.1. INTRODUCCIÓN .........................................................................................236 6.2. EL NIVEL DE TRANSPORTE.........................................................................237 6.2.1. Servicios proporcionados a los niveles superiores.......................238 6.2.2. Funciones a nivel de transporte ...................................................239 6.2.3. Comparación entre los niveles de enlace y transporte .................240 6.2.4. Protocolos a nivel de transporte...................................................241 Protocolos de transporte en Internet: TCP y UDP.......................241 Protocolos de transporte en Novell..............................................244 Protocolos de transporte de las redes Microsoft ..........................245 RA-MA CONTENIDO XI 6.3. EL NIVEL DE APLICACIÓN ..........................................................................247 6.3.1. Funciones del nivel de aplicación ................................................248 6.3.2. Protocolos de alto nivel................................................................250 Sistema de nombres de dominio..................................................251 Protocolos para el soporte de terminales .....................................258 Protocolos de transferencia de archivos ......................................260 World Wide Web (WWW)..........................................................264 Protocolos de gestión de correo electrónico ................................265 Protocolo NCP de Novell ............................................................266 6.4. INTERCONEXIÓN DE REDES: PASARELAS...................................................267 6.5. EJERCICIOS ................................................................................................269 6.6. BIBLIOGRAFÍA ...........................................................................................270 CAPÍTULO 7. LOS SISTEMAS OPERATIVOS DE RED .................................271 7.1. INTRODUCCIÓN .........................................................................................272 7.2. CLASIFICACIÓN DE LAS REDES LOCALES ..................................................272 7.3. LAS REDES MICROSOFT .............................................................................274 7.3.1. Grupos de trabajo.........................................................................276 7.3.2. Dominios en Windows NT ..........................................................279 7.3.3. Dominios en Windows 2000........................................................282 7.3.4. Instalación de aplicaciones y componentes en Windows ............286 7.3.5. Herramientas de administración en redes Microsoft....................288 7.3.6. Comando NET .............................................................................290 7.4. LAS REDES LINUX .....................................................................................291 7.4.1. Entornos de trabajo en Linux.......................................................292 7.4.2. Instalación de aplicaciones ..........................................................294 7.4.3. Herramientas de administración en Linux ...................................294 7.5. EJERCICIOS ................................................................................................298 7.6. BIBLIOGRAFÍA ...........................................................................................299 CAPÍTULO 8. SISTEMAS DE ARCHIVOS EN RED.........................................301 8.1. INTRODUCCIÓN .........................................................................................302 8.1.1. Conceptos básicos........................................................................302 8.1.2. Sistemas de archivos tolerantes a fallos.......................................303 8.2. SISTEMA DE ARCHIVOS EN REDES MICROSOFT .........................................305 8.2.1. Acceso al sistema de archivos Novell..........................................311 8.2.2. Acceso al sistema de archivos NFS .............................................311 8.2.3. Soporte a sistemas RAID .............................................................312 8.3. EL SISTEMA DE ARCHIVOS DE LINUX ........................................................313 8.3.1. Compartir archivos en una red Linux ..........................................317 8.3.2. Compartir archivos en una red Microsoft ....................................319 8.3.3. Compartir archivos en una red Novell .........................................324 8.4. EJERCICIOS ................................................................................................326 8.5. BIBLIOGRAFÍA ...........................................................................................326 EL SERVICIO DE DIRECTORIO ........................................................................329 9.1. INTRODUCCIÓN .........................................................................................330 9.2. GESTIÓN DE PERMISOS EN LAS REDES MICROSOFT ...................................331 XII REDES DE ÁREA LOCAL RA-MA 9.2.1. Grupos de trabajo en la red Microsoft .........................................332 9.2.2. Dominios de Windows NT ..........................................................335 Permisos sobre archivos y carpetas .............................................338 9.2.3. Dominios de Windows 2000........................................................341 Cuentas de usuario en Windows 2000.........................................341 Grupos en Windows 2000 ...........................................................343 Perfiles de usuario .......................................................................344 Administración de derechos y permisos ......................................346 9.3. GESTIÓN DE PERMISOS EN LINUX..............................................................352 9.3.1. Gestión de usuarios y grupos .......................................................352 9.3.2. Asignación de derechos ...............................................................354 9.3.3. Gestión del NDS a través de Linux..............................................359 9.4. EJERCICIOS ................................................................................................360 9.5. BIBLIOGRAFÍA ...........................................................................................361 CAPÍTULO 10. OTROS SERVICIOS DE RED ...................................................363 10.1. INTRODUCCIÓN........................................................................................364 10.1.1. Conceptos de impresión en red ..................................................364 10.1.2. Servidores para encaminamiento ...............................................366 10.2. SERVICIOS DE RED EN WINDOWS NT/2000.............................................367 10.2.1. Configuración de un servidor DHCP.........................................368 10.2.2. Configuración de un servidor DNS............................................369 10.2.3. Configuración de un servidor WINS .........................................374 10.2.4. Servicios de impresión en red ....................................................376 10.2.5. Terminal Server .........................................................................383 10.2.6. Servidores FTP y Web: IIS ........................................................384 10.3. OTROS SERVICIOS DE RED EN LINUX.......................................................387 10.3.1. Configuración de un servidor DHCP.........................................387 10.3.2. Configuración de un servidor DNS............................................389 10.3.3. Configuración de un servidor Telnet y FTP ..............................398 10.3.4. Conexiones X remotas ...............................................................400 10.3.5. Impresión en red con Linux .......................................................402 10.3.6. Encaminamiento ........................................................................404 10.3.7. Servidor Web..............................................................................406 10.4. EJERCICIOS ..............................................................................................406 10.5. BIBLIOGRAFÍA .........................................................................................407 CAPÍTULO 11. SEGURIDAD EN REDES ...........................................................409 11.1. INTRODUCCIÓN........................................................................................410 11.2. ATAQUES AL SISTEMA .............................................................................411 11.3. MEDIDAS PREVENTIVAS BÁSICAS ...........................................................413 11.3.1. Precauciones eléctricas ..............................................................413 11.3.2. Contraseñas para autenticación..................................................414 11.3.3. Control de permisos ...................................................................415 11.3.4. Copias de seguridad ...................................................................415 11.3.5. Cifrado de la información ..........................................................418 11.3.6. Firmas digitales..........................................................................420 11.3.7. Antivirus ....................................................................................421 RA-MA CONTENIDO XIII 11.4. MEDIDAS DE SEGURIDAD EN SISTEMAS...................................................422 11.4.1. Protección de un sistema Windows ...........................................423 11.4.2. Protección de un equipo Linux ..................................................426 11.5. MEDIDAS DE SEGURIDAD EN LA RED.......................................................429 11.5.1. Utilización de conmutadores......................................................429 11.5.2. Cortafuegos................................................................................430 11.5.3. Programas de detección de intrusos...........................................435 11.5.4. Servidores DNS .........................................................................436 11.5.5. Encaminadores...........................................................................437 11.6. EJERCICIOS ..............................................................................................438 11.7. BIBLIOGRAFÍA .........................................................................................438 APÉNDICE A. ESTÁNDARES DE CABLEADO ESTRUCTURADO..............441 A.1. SUBSISTEMAS DE CABLEADO ESTRUCTURADO.........................................442 A.2. ESPECIFICACIONES DE CONEXIONES ........................................................444 A.2.1. ANSI/EIA/TIA-568A .................................................................446 A.2.2. ANSI/EIA/TIA-568B..................................................................446 A.2.3. Cableado UTP de 100 Ω .............................................................447 A.2.4. Cableado FTP de 150 Ω..............................................................447 A.2.5. Cableado de fibra óptica .............................................................447 A.2.6. Norma ISO/IEC 11801 ...............................................................448 A.3. INSTALACIÓN DEL CABLEADO ..................................................................448 A.3.1. Certificación de la instalación.....................................................450 A.4. OTROS ESTÁNDARES RELACIONADOS ......................................................450 A.5. BIBLIOGRAFÍA ..........................................................................................451 APÉNDICE B. CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO .......................................................................453 B.1. CONFIGURACIÓN DE RED EN WINDOWS ...................................................453 B.1.1. Instalación y configuración de un módem ..................................453 B.1.2. Instalación y configuración de un adaptador de red....................455 B.2. CONFIGURACIÓN DE RED EN LINUX .........................................................465 B.2.1. Instalación y configuración de un módem ..................................465 B.2.2. Instalación y configuración de un adaptador de red....................468 B.2.3. Archivos de configuración de red ...............................................475 B.3. BIBLIOGRAFÍA ..........................................................................................486 APÉNDICE C. CONTENIDO DEL CD-ROM......................................................489 GLOSARIO ..............................................................................................................491 ÍNDICE .....................................................................................................................517 AGRADECIMIENTOS Este libro nunca se hubiera hecho realidad sin el apoyo, consejos y contribuciones realizadas por numerosas personas. En primer lugar, tengo que dar las gracias en especial a José Luis Raya Cabrera, coordinador de este libro, por sus consejos y correcciones realizadas sobre el estilo y los contenidos. Como especialista en redes de comunicaciones y sistemas operativos y con una abultada experiencia en la publicación de manuales y documentación didáctica, su apoyo ha resultado vital en la consecución del presente libro. En segundo lugar, me gustaría dar las gracias a Eduardo Polo Ortega, profesor de enseñanza secundaria, por sus comentarios y correcciones sobre los contenidos del libro. Su ayuda ha servido para eliminar algunas imprecisiones en los temas abordados y para establecer un orden didáctico más adecuado. En tercer lugar, quiero agradecer a Manuel Rivas Rico, profesor de enseñanza secundaria, los consejos realizados sobre los aspectos didácticos y secuenciación en los contenidos del libro. También quiero dar las gracias a todos los compañeros del Departamento de Informática del I.E.S. Azarquiel de Toledo por el apoyo prestado en la ampliación y aclaración de algunos contenidos de este libro. Gracias a todo el equipo de la editorial Ra-Ma (http://www.ra-ma.es) por el trabajo realizado en el libro y por la oportunidad que me ha brindado para hacer realidad este manual. Por último, me gustaría agradecer al lector la confianza depositada en este libro. Espero que los conocimientos adquiridos le sirvan para su desarrollo profesional e intelectual, y abran sus puertas a nuevos aprendizajes. PREFACIO El mundo de las redes de ordenadores ha pasado, en pocos años, de formar una pequeña comunidad dentro del mundo de la informática a convertirse en un elemento indispensable en nuestra vida cotidiana. Hoy en día, todo aquél que adquiera un flamante equipo con procesador de última generación no deberá olvidar que también necesitará un módem o una tarjeta de red para ampliar sus horizontes y procurar no quedar aislado en esta carrera interminable que son las comunicaciones globales. La primera vez que tuve conciencia de la enorme transformación que ha sufrido nuestra sociedad con el auge de las comunicaciones fue al leer un anuncio publicado en Internet por la NASA. En él se instaba a todo aquél que lo deseara a enviar mensajes de texto a los nuevos ocupantes de la estación espacial rusa MIR, que formaban parte de un programa de cooperación internacional. Y es que los millones de kilómetros de cableado, los cientos de satélites artificiales que orbitan nuestro planeta y las miles de antenas de telefonía móvil GSM instaladas nos permiten una comunicación instantánea con gentes a miles de kilómetros de distancia. En el ámbito empresarial, las redes locales se han convertido en un instrumento indispensable del trabajo diario. Esto es debido a la paulatina reducción en los costes de los dispositivos de red y el cableado, lo que ha permitido que empresas modestas tengan acceso a una tecnología que permite una mayor fiabilidad y velocidad de transmisión. Las pequeñas y medianas empresas ya no tienen que realizar grandes inversiones para instalar una red local a 100 Mbps con cableado de cobre. Este libro surge con el propósito de acercar al lector a los aspectos más importantes que encierran las redes de comunicaciones, ante la creciente demanda de personal cualificado para la administración de estos sistemas. Con tal propósito, puede servir de apoyo también para estudiantes de los ciclos formativos de grado superior de informática y las ingenierías técnicas. Aunque los primeros trabajos orientados hacia el desarrollo de este libro se centraron en exponer los aspectos prácticos de administración y configuración de un único sistema operativo, posteriores revisiones y ampliaciones han incluido aspectos de otros sistemas. Así, se ha conseguido un manual de referencia para los aspectos de XVIII REDES DE ÁREA LOCAL RA-MA configuración de red en Microsoft Windows Novell NetWare y Linux. Resulta evidente que ha hecho falta un gran esfuerzo para conseguir reunir todo esto en un mismo manual. Hoy en día existen muchos usuarios y profesionales de la informática y las redes que discuten las ventajas e inconvenientes de algunos sistemas operativos, y prefieren limitarse al uso exclusivo de uno de ellos. Este libro no se decanta por ningún sistema en particular, ni intenta compararlos para descubrir cuál es el mejor de todos. En su lugar, se intenta enriquecer los contenidos del libro al exponer sus principales características, manejo y métodos para conseguir la coexistencia entre ellos. Puesto que el tema de las redes de comunicaciones resulta muy extenso, este libro se ha centrado solamente en dar una introducción a los aspectos teóricos más importantes (eliminando todas aquellas cuestiones que tienen que ver más con el diseño e implementación de protocolos de comunicaciones). Estos aspectos teóricos introductorios se exponen en los capítulos 1, 2, 3, 4, 5 y 6, que dan pie para el desarrollo de otros aspectos más prácticos de administración y configuración de redes locales (capítulos 7, 8, 9, 10, 11 y apéndice D). En estos cuatro últimos capítulos, los contenidos se han centrado en los tres sistemas más utilizados actualmente: las redes Microsoft, Novell NetWare y Linux. Finalmente, los apéndices A, B, E y F incluyen el desarrollo de algunos aspectos importantes introducidos en los capítulos del libro. No es necesario disponer de ningún conocimiento sobre redes de computadores para manejar este libro, aunque sí es recomendable disponer de conocimientos básicos en informática general. Esto es debido a que no se incluyen otras cuestiones relativas al manejo de sistemas operativos que harían el presente libro demasiado extenso. Por último, se ha de indicar que este libro no está orientado a aquellos lectores que busquen adquirir conocimientos básicos en el manejo de un sistema operativo. Tampoco se recomienda a los que busquen aspectos más teóricos relacionados con la transmisión de datos en una red de comunicaciones o cuestiones más avanzadas en la administración de sistemas operativos que no tengan que ver con las redes de ordenadores. Para todo aquél que use este libro en el entorno de la enseñanza (ciclos formativos de grado superior o universidad), se ofrecen varias posibilidades: utilizar los conocimientos aquí expuestos para inculcar aspectos genéricos de los sistemas operativos de red o simplemente centrarse en preparar a fondo alguno de ellos. La extensión de los contenidos aquí incluidos hace imposible su desarrollo completo en la mayoría de los casos. RA-MA PREFACIO XIX Con el fin de limitar el número de páginas del libro y no encarecer su coste, parte de la documentación que compone este libro se adjunta en un CD-ROM de forma gratuita. Esta documentación está dividida en tres partes: el apéndice D (dedicado a las redes Novell NetWare), el apéndice E (donde se exponen los aspectos más importantes del uso de las máscaras de red de longitud variable) y el apéndice F (dedicado al estudio de las redes locales virtuales). Existe, además, otro CD-ROM que se puede solicitar a la editorial RA-MA de forma gratuita, abonando 3 e por gastos de envío. Dicho CD-ROM sirve de guía al profesor para el desarrollo del tema, e incluye las soluciones a los ejercicios expuestos en el libro. La solicitud se puede realizar a [email protected] y es necesaria la acreditación como docente. Francisco José Molina Robles CONVENCIONES UTILIZADAS EN ESTE LIBRO Los nombres de menús, opciones y botones de los programas aparecen entre dobles comillas. Para especificar varias opciones encadenadas, se utiliza una doble barra vertical de separación ||. Los nombres de los comandos aparecen en cursiva. Se utilizan las mayúsculas para indicar que los comandos se ejecutan sobre MS-DOS y las minúsculas para indicar que se trata de comandos de Linux. Se utiliza esta misma norma para distinguir los archivos en Windows y Novell de los archivos en Linux. Los nombres de objetos y herramientas de administración disponibles en los distintos sistemas operativos de red aparecen en mayúsculas y con letra cursiva. Los parámetros a introducir como opciones de un comando se nombran entre los caracteres < >, pero éstos no deben aparecer cuando son sustituidos. Los caracteres [ ] se utilizan para especificar que un parámetro de un comando no es obligatorio. Se utiliza la barra vertical | para indicar que se pueden seleccionar varios parámetros de un comando, todos ellos excluyentes. CAPÍTULO 1 INTRODUCCIÓN A LOS SISTEMAS DE COMUNICACIONES En el primer capítulo de este libro se introducirá brevemente el concepto de red de comunicaciones. Puesto que el objetivo perseguido es el de iniciar al lector desde cero, este capítulo expone de una forma sencilla cuáles son los problemas fundamentales que es necesario resolver en este ámbito del mundo de la informática. Además, se presenta una breve introducción histórica acerca de cómo ha evolucionado el mundo de la comunicación de datos desde su nacimiento hasta nuestros días. Así mismo, se ha dedicado otro apartado a estudiar los mecanismos empleados para convertir la información en códigos adecuados para ser transmitidos a largas distancias. No aparecen algunos sistemas de numeración de importancia en informática ya que prácticamente no se utilizan en redes de comunicaciones. Figura 1.0. Ordenadores conectados en red 2 REDES DE ÁREA LOCAL RA-MA 1.1. INTRODUCCIÓN El concepto de información del que se habla hoy en día y al que se le ha concedido tanta importancia resulta a primera vista un tanto complejo de definir. Podemos decir que información es todo aquello que a través de nuestros sentidos penetra en nuestro sistema nervioso y produce un aumento en nuestros conocimientos. Así pues, la información expresa el saber en sentido amplio. El funcionamiento de todas las comunidades animales y humanas es posible gracias a la comunicación. Ésta consiste en un acto por el cual un individuo establece con otros un contacto que le permite intercambiar información. Para que esa comunicación sea posible, la información deberá representarse mediante unos símbolos que todos los individuos que están involucrados en esa comunicación deben ser capaces de traducir para poder interpretarlos correctamente. Para nosotros, los humanos, este intercambio de información se realiza a través de la voz o de palabras escritas (lenguaje). El concepto de información que se ha repasado en los párrafos anteriores resulta de gran importancia para la informática. Ésta es la ciencia que estudia el tratamiento automático de la información, es decir, los instrumentos y métodos que permiten automatizar determinadas tareas repetitivas y así liberar al ser humano de esas pesadas labores. Por su parte, un sistema de información o sistema informático es aquél que realiza algún tipo de tratamiento de la información. Puede ser tan sencillo como calcular la suma de dos números, o tan complejo como obtener las fechas y horas de los eclipses totales de sol que se producirán en los próximos años. El esquema más sencillo del concepto de sistema de información se expone en la figura 1.1: Figura 1.1. Modelo de sistema informático simplificado. Representa la función básica que realiza el mismo visto desde el exterior. Si aumentamos el nivel de detalle, podremos observar que, además de información de entrada o de salida, dentro del sistema de información pueden existir datos de carácter fijo que no varían durante el proceso de elaboración de la información, además de datos de carácter temporal que se utilizan para obtener RA-MA CAPÍTULO 1: INTRODUCCIÓN A LOS SISTEMAS DE COMUNICACIONES 3 resultados intermedios y que se eliminan una vez que se han obtenido los resultados y datos de tipo variable que pueden modificar el estado actual del sistema. El ejemplo más sencillo lo encontramos en una calculadora, donde la información fija la constituyen las tablas de logaritmos o trigonométricas; los resultados intermedios se almacenan temporalmente para realizar operaciones complejas y existe una memoria que puede almacenar números, modificando así su estado interno1. El sistema informático necesita conocer cómo debe procesar la información. Esta característica la obtiene a través de un programa que tiene almacenado y que contiene todas las instrucciones para la elaboración de los datos. En una calculadora, por ejemplo, el programa indica qué operación numérica debe realizarse (suma, resta, etc.) y puede seleccionarse por el usuario. Según la Unión Internacional de Telecomunicaciones, se define formalmente telecomunicación como toda transmisión, emisión o recepción de signos, señales, imágenes, sonidos o informaciones de cualquier tipo que se transmiten por hilos, medios ópticos, radioeléctricos u otros sistemas electromagnéticos. Por su parte, una red de transmisión de datos es una estructura formada por determinados medios físicos (dispositivos reales) y lógicos (programas de transmisión y control) desarrollada para satisfacer las necesidades de comunicación de una determinada zona geográfica. Se trata, pues, de un soporte que permite la conexión de diversos equipos informáticos (o cualquier otro dispositivo electrónico) con el objetivo de suministrarles la posibilidad de que intercambien informaciones. Figura 1.2. Red de transmisión de datos. Esquema simplificado. La señal recibida por el receptor es la suma de la señal enviada por el emisor más una componente de ruido que se suma durante su circulación a través de la red. Por lo tanto, habrá que introducir mecanismos de detección y corrección de errores. En la mayoría de los casos, todos los errores producidos no pueden ser corregidos, pero sí la mayoría de ellos. El límite se sitúa teniendo en cuenta el máximo aceptable por el usuario y el coste de la instalación de la red. Señal _ recibida = Señal _ enviada + Ruido Hay que tener en cuenta que una red de transmisión de datos no está formada única y exclusivamente por el medio de transmisión. El problema fundamental 1 En los sistemas informáticos reales, los datos de salida no sólo dependen de los datos de entrada, sino también de su estado interno, es decir, de los datos de tipo variable. 4 REDES DE ÁREA LOCAL RA-MA consiste en organizar toda la estructura cuando existe una gran cantidad de usuarios; en el caso del sistema telefónico es evidente que todos los abonados deben estar conectados, pero resulta absurdo conectar a todos con todos (por la gran cantidad de cableado que esto supone). En estas condiciones, es necesario un mecanismo que sea capaz de establecer comunicaciones entre usuarios, incluso a través de un mismo cable. Por lo tanto, los elementos de una red de comunicación son los siguientes: Sistema de transmisión: Es la estructura básica que soporta el transporte de las señales por la red. Sistema de conmutación: Mecanismo que permite el encaminamiento de la información hacia su destino. Normalmente va a existir un medio limitado para la comunicación, por lo que éste deberá ser compartido por varios emisores y receptores. El ejemplo más simple de este sistema lo constituye un operador de telefonía (centralita) que se encarga de conectar a dos usuarios que desean comunicarse (véase la figura 1.3). Sistema de señalización: Para que la comunicación sea posible, es necesario que exista un sistema de inteligencia distribuido por la red que sincronice todos los recursos que se encuentran en ella. Este control se lleva a cabo enviando señales a los distintos elementos que intervienen en la comunicación. Estos dispositivos de señalización se encargan, por ejemplo, de indicar a un usuario que está recibiendo una llamada (cuando suena un timbre) que se encuentra ocupado, etc. Figura 1.3. Diagrama básico de conmutación. El operador humano u otro dispositivo automático es el encargado de establecer la comunicación entre los abonados. RA-MA CAPÍTULO 1: INTRODUCCIÓN A LOS SISTEMAS DE COMUNICACIONES 5 Una red de computadoras es un conjunto de ordenadores que poseen dos características diferenciadoras: • Se encuentran interconectadas mediante algún medio de transmisión (es decir, pueden intercambiar información). • Son autónomas, es decir, tienen cierta potencia de cálculo (pueden realizar procesado de datos) y no son controladas por otras computadoras centrales. Los primeros comienzos de la informática estaban dominados por los grandes ordenadores centrales y los usuarios accedían a ellos a través de terminales formadas únicamente por monitor y teclado. Esa estructura no es una red porque los terminales son “bobos”, es decir, no realizan ningún tipo de cálculo y se limitan a enviar o recibir datos. 1.1.1. Evolución histórica de las redes No es posible entender el estado actual de las telecomunicaciones y la transmisión de datos sin conocer cuál ha sido su evolución histórica y la sucesión de avances tecnológicos en la materia. Los primeros conceptos de redes aparecidos en el mundo de la informática se remontan al año 1983 y su evolución ha seguido un lento proceso de maduración. La evolución de la tecnología ha posibilitado que la informática haya conseguido avances espectaculares en un tiempo relativamente corto. Desde la construcción de la primera computadora electrónica de propósito general durante la Segunda Guerra Mundial (llamada ENIAC, construida por J. Presper Eckert y John Mauchly) hasta nuestros días apenas ha transcurrido medio siglo. De hecho, gran parte de los conceptos aplicados a los ordenadores actuales aparecen en un memorando escrito por John von Neumann en 1944. El gran impulso a la informática se dio en 1961 cuando la empresa norteamericana Fairchild comercializó el primer circuito integrado. Hasta entonces, los computadores se construían utilizando válvulas de vacío de gran tamaño (cilindros de 3 cm x 5 cm). Con esta revolución, las válvulas eran sustituidas por transistores integrados de menos de un milímetro cuadrado de tamaño. Hasta 1977, todos los ingenieros estaban centrados en el diseño y construcción de supercomputadoras y máquinas más rápidas. En ese mismo año, Steve Jobs y Steve Wozniak presentaron el computador más barato y pequeño del mundo, lo que introdujo la informática personal para tener en casa. Otro elemento muy importante que ha sufrido una gran evolución en su concepción desde sus inicios es el programa informático. En sus inicios, se trataba de un conjunto de normas escritas en papel o tarjetas perforadas que indicaban cómo debían realizarse las conexiones internas de la circuitería del sistema. Estas normas expresaban el tipo de proceso que debía realizarse con la información. Posteriormente, se permitió que esos programas pudieran almacenarse en el interior del sistema. 6 REDES DE ÁREA LOCAL RA-MA Los diseñadores pronto se dieron cuenta de la existencia de un conjunto de fragmentos de programas que se repetían siempre en todas las aplicaciones: rutinas para lectura de datos, chequeo del sistema, etc. Esos fragmentos comenzaron a archivarse para copiarlos en nuevos programas, lo que dio lugar a lo que se conoce actualmente como sistema operativo. Este programa se utiliza fundamentalmente para ayudar a programar el sistema y facilitar el uso del mismo. La definición del sistema operativo aparece en el capítulo 7, apartado 7.1. El primer elemento aparecido con el objetivo de compartir dispositivos fue el conmutador ABC. Se trata de una especie de interruptor que permite conectar dos canales de comunicación (que normalmente son conexiones de puerto paralelo2). Con este dispositivo, dos ordenadores pueden compartir el uso de un dispositivo, como una impresora, o también se permite que dos dispositivos sean compartidos por un mismo ordenador. Las limitaciones son obvias: tanto en número de dispositivos y equipos, como en la necesidad de pelearse con un mecanismo completamente manual para seleccionar el dispositivo u ordenador, además de que no permite que se compartan otros elementos físicos, como los discos duros. Para solucionar los problemas anteriores, los ordenadores empezaron a dotarse de puertos serie3 de comunicaciones. A partir de estos puertos, se podían conectar directamente varios equipos, y podía configurarse uno de ellos con el propósito de compartir el espacio de su disco duro con el resto. Todos los ordenadores veían ese disco como una unidad local, y no existían restricciones acerca de su uso. Figura 1.4. Conmutador ABC. Vistas frontal con el selector del equipo (izda.) y trasera con los puertos de las conexiones (dcha.). Paralelamente a la evolución de la informática, desde 1876 (año en el que Alexander Graham Bell inventó el teléfono) también se dio un gran desarrollo de las comunicaciones terrestres, con el auge de las compañías telefónicas. En 1957 se lanzó el primer satélite artificial (Sputnik I), y las comunicaciones en la Tierra se han ido mejorando gracias a la utilización de los satélites que orbitan alrededor de nuestro planeta. La fusión posterior de las computadoras y las comunicaciones ha tenido una profunda influencia en la forma de organización de los sistemas informáticos. 2 Todo ordenador dispone de un conjunto de puertos que permiten su comunicación con otros dispositivos externos. Por ejemplo, el puerto paralelo se diseñó desde el principio como medio de comunicación entre un ordenador y una impresora. 3 El método utilizado para transmisión de datos por el puerto serie se verá en el capítulo siguiente. RA-MA CAPÍTULO 1: INTRODUCCIÓN A LOS SISTEMAS DE COMUNICACIONES 7 Entre 1983 y 1984 surgieron los primeros entornos servidores de ficheros para redes de área local. Entre las compañías destacadas, cabe citar a Novell Inc., 3Com Corp., AT&T e IBM. Aunque todas ellas diferían en la gestión e implementación, se trataba de entornos centralizados, donde un ordenador hacía las veces de servidor (con el sistema operativo de red instalado en él y los datos compartidos) y el resto de equipos funcionaban con una versión de un sistema operativo más “ligero”, como MSDOS. Hacia 1990, este tipo de redes locales triunfó en el mundo de la empresa y la industria de las redes creció a velocidades impresionantes. Hoy en día, las redes de ordenadores son algo más que un entorno centralizado de gestión de ficheros. El desarrollo de la tecnología ha posibilitado el incremento en velocidad de transmisión y fiabilidad, lo que ha supuesto una extensión en sus capacidades. La principal tiene que ver con las redes de altas prestaciones, donde una aplicación compleja se ejecuta de forma distribuida en los equipos de la red. La tendencia actual se orienta hoy en día hacia las redes distribuidas (en lugar de centralizadas) donde cada ordenador es cliente, pero también puede ser servidor de datos o dispositivos. 1.2. REPRESENTACIÓN DE LA INFORMACIÓN Como se ha dicho anteriormente, un ordenador es una máquina pensada para procesar gran cantidad de información. Este proceso puede ser desde una sencilla suma de dos cantidades hasta la predicción del número de manchas solares que aparecerán el año que viene. Para que se pueda llevar a cabo ese procesado de la información, un ordenador debe ser capaz de poder representar esos datos mediante algún método que resulte factible. Nosotros, los humanos, utilizamos los sonidos y los caracteres escritos principalmente para representar y comunicar información. Sin embargo, resulta evidente que un ordenador no puede tratar directamente con esas formas de representación. Los pioneros en el diseño de computadores se enfrentaron a este problema fundamental: buscar un método para representar la información que cumpliera (entre otras) las siguientes condiciones: Poder representar cualquier tipo de información (números, letras, palabras, etc.). Ser compatible con la tecnología existente (circuitos electrónicos). Representar unívocamente la información (sin confusiones). Para las necesidades de comunicación, en el año 1837 se construyó el primer telégrafo, invención de F. B. Morse. Éste utilizaba el código del mismo nombre para transmitir la información y consistía básicamente en el envío y recepción de pulsos de corriente de pequeña duración. Cada carácter del alfabeto estaba representado por RA-MA 8 REDES DE ÁREA LOCAL varios de estos pulsos, que podían ser de dos tipos: punto (pulso de muy pequeña duración) y raya (pulso de una duración mayor). La tabla 1.1 muestra la representación de todos los caracteres en Morse: Tabla 1.1. Alfabeto Morse Símbolo A B C D E F G H I J K L M N Ñ O P Q R Representación • ••• •• •• •••• ••• • •••• •• • • ••• • • •• • •• Símbolo S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0 Representación ••• •• ••• • •• • •• • •• ••• •••• ••••• •••• ••• •• • Para la época en la que se comenzaron a construir los primeros computadores, el único elemento electrónico que podía ser utilizado con este propósito era la válvula de vacío. Este dispositivo funciona como un interruptor: puede dejar pasar la corriente o se puede cortar para que no circule corriente. Al igual que el método de transmisión utilizado por el telégrafo, nos encontramos frente a un sistema que solamente trabaja con dos estados posibles: hay corriente eléctrica circulando o no la hay. Los circuitos integrados actuales que se utilizan para la construcción de ordenadores trabajan de la misma forma. En el código Morse se utiliza dos símbolos solamente: punto y raya. Así mismo, en un ordenador también se utilizan solamente dos símbolos: el 0 y el 1, que representan los dos estados posibles. El problema que tiene un código que utiliza solamente dos estados es que necesita gran cantidad de símbolos para representar la información. En el caso del código Morse de la tabla anterior, para enviar un “9”, hay que utilizar cinco símbolos de ese código. RA-MA CAPÍTULO 1: INTRODUCCIÓN A LOS SISTEMAS DE COMUNICACIONES 9 Figura 1.5. Válvula de vacío. Dibujo simplificado. La información puede clasificarse como datos numéricos que representan cantidades, datos de tipo alfabético que representan caracteres de un idioma determinado o datos alfanuméricos que son una combinación de los dos anteriores. 1.2.1. Sistemas de numeración Un sistema de numeración es aquél que emplea un conjunto de símbolos además de unas determinadas reglas que permiten representar cantidades numéricas. Se utiliza una representación única en la que cada símbolo o conjunto de símbolos representa exclusivamente una cantidad, y a la inversa. Los sistemas de numeración más utilizados son los posicionales, que poseen las siguientes características: ⌦Se emplea un número finito de símbolos, dígitos o cifras, lo que determina la base del sistema. ⌦Cada cantidad viene expresada por una secuencia finita de símbolos del sistema. ⌦La cantidad total expresada se obtiene sumando el valor de cada uno de los símbolos. ⌦El valor de cada símbolo depende de sí mismo y de la posición que ocupa dentro de la secuencia de símbolos. Normalmente tendrá más valor cuanto más a la izquierda se sitúe. Un número real N de p dígitos enteros y q fraccionarios, expresado en la base b, adopta el siguiente desarrollo polinomial: (N)b = ap-1·bp-1+ap-2·bp-2+...+a1·b1+a0·b0+a-1·b-1+...+a-q·b-q Donde b es la base del sistema de numeración y todos los ai (cifras o dígitos) pertenecen al alfabeto del sistema o, lo que es lo mismo, 0 ≤ ai < b. RA-MA 10 REDES DE ÁREA LOCAL El número N, cuya expresión matemática es el polinomio precedente, se suele representar abreviadamente como la sucesión de sus coeficientes, indicando, además, la base del sistema: (N)b = (ap-1ap-2...a1a0.a-1a-2...a-q)b Como se habrá observado, la posición de cada una de las cifras o dígitos se establece a partir del punto decimal (o coma decimal) del sistema, siendo los dígitos situados a la izquierda cantidades enteras, mientras que los situados a la derecha representan cantidades decimales. EJEMPLO 1.1 Comparemos la base 10 con la base 4. En la base 10, se usan los dígitos {0,1,2,3,4,5,6,7,8,9} y en la base 4, {0,1,2,3}. El número 230103 en la base 4 será: (230103)4 = 2·45+3·44+0·43+1·42+0·41+3·40 = (2835)10 Para expresar la misma cantidad, en la base 10 se han utilizado cuatro cifras y en la base 4 han hecho falta seis. De todo lo anterior se desprende que, cuanto mayor sea la base del sistema, mayor será el número de símbolos del alfabeto y menor será el número de cifras necesarias para representar una cantidad. El mayor número que se puede representar de una base b con m dígitos es bm–1. 1.2.2. Sistema decimal El sistema de numeración más empleado actualmente en todo el mundo es el llamado sistema decimal hindú-arábigo, tomado de los hindúes por los árabes durante el siglo VIII. Los hindúes tenían diez símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9, con lo que la base del sistema es b = 10. Además, este sistema sigue el principio de posición, por el que el valor del dígito 5 (cantidad que representa) en la posición 3 es tres veces cinco o, lo que es lo mismo, 5·103. EJEMPLO 1.2 Supongamos que queremos obtener el valor del número 463 que está en la base 10. En este caso deberemos obtener el desarrollo polinomial del número: 4·102 = 4·100 6·101 = 6·10 3·100 = 3·1 = 400 = 60 = 3 Y la suma resulta (463)10, que es la representación en base diez del número. RA-MA CAPÍTULO 1: INTRODUCCIÓN A LOS SISTEMAS DE COMUNICACIONES 11 1.2.3. Sistema binario El sistema binario o sistema de numeración en base 2 fue introducido por Leibniz en el siglo XVII. También se le llama binario natural y es el que utilizan las máquinas electrónicas digitales ya que éstas sólo pueden representar dos estados diferentes. Al contar únicamente con dos símbolos, las reglas para realizar las operaciones aritméticas no pueden ser más simples (sólo habrá dos tablas para la suma, la resta, etc., mientras que en el sistema decimal hay diez tablas para cada operación). La ventaja anterior compensa la necesidad de utilizar un mayor número de cifras para representar una misma cantidad (véase el ejemplo 1.3), que en los sistemas cuya base es mayor. Como anécdota, se ha de indicar que el sistema binario es utilizado en la actualidad por algunas tribus primitivas de Asia y América del Sur. En el sistema binario el alfabeto está formado por los símbolos {0,1} y la base es b = 2. Un método directo para obtener el valor de la cantidad expresada por un número de base 2 a base 10 consiste en utilizar el desarrollo polinomial. La tabla 1.2 muestra los 16 primeros números decimales y sus correspondientes binarios. Tabla 1.2. Los 16 primeros números en binario Decimal 0 1 2 3 4 5 6 7 Binario 0 1 10 11 100 101 110 111 Decimal 8 9 10 11 12 13 14 15 Binario 1000 1001 1010 1011 1100 1101 1110 1111 EJEMPLO 1.3 El número 101100101 en base 2 representa: (101100101)2 = 1·28+0·27+1·26+1·25+0·24+0·23+1·22+0·21+1·20 (101100101)2 = (357)10 Aunque al principio pueda resultar un poco extraño la formación sucesiva de los números binarios, se usa el mismo procedimiento que con los números en decimal. Para contar, empezamos por el 0, seguido del 1; ya no tenemos más dígitos y, por lo tanto, empezamos a formar números de dos cifras: 10 y 11; ahora tenemos que pasar a tres cifras: 100, 101, 110 y 111. Este proceso se repite indefinidamente, tomando cada vez un nuevo dígito para ampliar la longitud del número. 12 REDES DE ÁREA LOCAL RA-MA A cada una de las cifras de un número binario (0 ó 1) se le llama dígito binario. Muchas personas confunden dígito binario con bit, pero, como se verá en el capítulo 4, apartado 4.4, se trata de conceptos completamente diferentes. Con n dígitos binarios se pueden representar todos los números enteros positivos comprendidos en el rango [0 , 2n–1]. 1.2.4. Conversiones entre decimal y binario Para pasar un número representado en el sistema binario al decimal, basta con realizar su desarrollo polinomial: (a8 a7 a6 a5 a4 a3 a2 a1 a0)2 = a8·28+a7·27+a6·26+a5·25+a4·24+a3·23+a2·22+a1·21+a0·20 Por su parte, para pasar un número de decimal a binario, se trata la parte entera y la parte decimal por separado. Tomando la parte entera del número decimal, se realizan divisiones enteras sucesivas por 2 hasta que el cociente obtenido sea 0, y se toman los restos de las divisiones en orden inverso (empezando por el último resto, que es siempre 1 y los demás solamente pueden ser 0 ó 1). EJEMPLO 1.4 Convertir (101.1)2 a base 10. Tenemos: (101.1)2 = 1·22+0·21+1·20+1·2-1 = 4+0+1+0.5 = (5.5)10 EJEMPLO 1.5 Convertir (357)10 a binario. Los restos de las divisiones aparecen debajo de ellas, y cada una se encadena con la siguiente: 357 / 2 = 178 / 2 = 89 / 2 = 44 / 2 = 22 / 2 = 11 / 2 = 5 / 2 = 2 / 2 = 1 / 2 = 0 1 0 1 0 0 1 1 0 1 Por lo tanto, se obtiene: (357)10 = (101100101)2 Por otro lado, para convertir la parte fraccionaria de un número decimal a binario, se realizan multiplicaciones sucesivas y se va eliminando la parte entera obtenida, que es la que se toma para formar el número en binario (siempre será 0 ó 1). El proceso finaliza cuando se obtenga como resultado 0 o se consigan suficientes dígitos binarios (hasta conseguir una aproximación adecuada). Hay que tener en cuenta que un número en base 10 formado por un número finito de dígitos decimales puede convertirse en un número con infinitos dígitos decimales en binario, como muestran los ejemplos 1.6 y 1.7. RA-MA CAPÍTULO 1: INTRODUCCIÓN A LOS SISTEMAS DE COMUNICACIONES 13 EJEMPLO 1.6 Convertir (0.40625)10 a binario. 0.40625 0.8125 0.625 0.25 0.5 0 ·2 ·2 ·2 ·2 ·2 Parte entera 0 1 1 0 1 Por lo tanto, (0.40625)10 = (0.01101)2 EJEMPLO 1.7 Convertir (0.5311)10 a binario. 0.5311 · 2 0.0622 · 2 0.1244 · 2 0.2488 · 2 0.4976 · 2 0.9952 · 2 Parte entera 1 0 0 0 0 1 .... Por lo tanto, (0.5311)10 = (0.10000111)2 1.2.5. Sistema hexadecimal Uno de los problemas fundamentales a los que se enfrentaron los pioneros de la informática era fundamentalmente la comodidad a la hora de trabajar con un ordenador. Puesto que éste emplea únicamente ceros y unos para representar la información, los operadores humanos no estaban acostumbrados a trabajar de ese modo. Por ejemplo, imaginemos que deseamos que un ordenador realice la suma de dos números enteros. Debemos decirle, por un lado, que deseamos realizar la operación suma (codificada convenientemente en binario), además de los dos números que queremos sumar (también codificados en binario). Tal instrucción, en un ordenador con procesador MIPS, está codificada como un número binario de 32 dígitos de la siguiente forma: add $2,$4,$2 00000000100011100001100000100001 14 REDES DE ÁREA LOCAL RA-MA Por muy inteligente que sea el operador y muy exigente que sea su jefe, no se le puede pedir que aprenda de memoria toda la codificación en binario de las instrucciones y datos con que trabaja internamente un ordenador. Además, también debe realizar pesadas operaciones de cambio de base (según se ha visto en el apartado anterior) para realizar la conversión decimal-binario de los números. Para evitar tener que realizar constantemente esas operaciones de conversión, se pensó en utilizar un sistema de numeración que cumpliera dos condiciones fundamentales: • La base del sistema sea suficientemente cercana al decimal como para permitir que los humanos tengamos más facilidad de adaptación y facilidad de uso. • La conversión con el binario sea lo más sencillo posible (y se pueda hacer incluso de cabeza). Hay varios sistemas de numeración que cumplen esas dos condiciones. Sin embargo, el que más se ha utilizado y se sigue utilizando es el sistema de numeración hexadecimal. En este sistema, la base es b = 16, es decir, existen 16 símbolos diferentes para representar los números. A primera vista esto puede sonar un poco extraño, fundamentalmente porque en principio no disponemos de 16 dígitos diferentes para representar las cifras de los números (recordemos que en decimal hay 10 símbolos). Para representar los símbolos que faltan, se utilizan las primeras letras de nuestro alfabeto escritas en mayúsculas. Por lo tanto, el sistema hexadecimal representa los números utilizando los símbolos {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}. Pero, ¿cómo se cuenta en hexadecimal? Pues exactamente igual que en cualquier sistema de numeración. Primero empezamos por los números de una cifra: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F. Como ya no quedan más dígitos, empezamos con dos cifras: 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20, 21,..., hasta que llegamos al número FF para seguir de la misma forma con tres cifras. La tabla 1.3 resume los 32 primeros números en hexadecimal, con sus equivalentes en decimal y binario. Todos los ceros que aparecen a la izquierda de los números se pueden quitar; sólo se utilizan para aumentar la comprensión de todos estos conceptos. Si se observa detenidamente la tabla 1.3 o, si se extiende la misma para representar más números en hexadecimal, se comprueba que existe bastante relación entre el binario y el hexadecimal. De hecho, cada cifra en hexadecimal se representa utilizando cuatro cifras en binario que son siempre las mismas (tomando como referencia las 16 primeras cifras de la parte izquierda de la tabla). Viéndolo de esta forma, la conversión resulta inmediata. La clave del sistema de numeración hexadecimal reside en que su base es potencia de dos: 24=16. De este modo, la conversión entre los dos sistemas es inmediata y cada cifra en hexadecimal representa las mismas cuatro cifras de binario, RA-MA CAPÍTULO 1: INTRODUCCIÓN A LOS SISTEMAS DE COMUNICACIONES 15 independientemente de la posición que ocupen. Siempre se toma como referencia el punto decimal para realizar la conversión y, si faltan cifras para tomarlas de cuatro en cuatro, se pueden añadir ceros. Tabla 1.3. Los 32 primeros números en hexadecimal Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F Binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Decimal 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Hexadecimal 10 11 12 13 14 15 16 17 18 19 1ª 1B 1C 1D 1E 1F Binario 00010000 00010001 00010010 00010011 00010100 00010101 00010110 00010111 00011000 00011001 00011010 00011011 00011100 00011101 00011110 00011111 EJEMPLO 1.8 Supongamos que queremos pasar (1A36D)16 a binario. Sabemos que las cifras individuales se representan de la siguiente forma: (1)16 = (0001)2 (A)16 = (1010)2 (3)16 = (0011)2 (6)16 = (0110)2 (D)16 = (1101)2 Por lo tanto, sólo queda colocar en orden esas cifras para construir el número en binario: (1A36D)16 = (00011010001101101101)2 EJEMPLO 1.9 Convertir (5F6C.AB8)16 a binario. Podemos tratar cada dígito por separado: (5)16 = (0101)2 (F)16 = (1111)2 (6)16 = (0110)2 RA-MA 16 REDES DE ÁREA LOCAL (C)16 (A)16 (B)16 (8)16 = = = = (1100)2 (1010)2 (1011)2 (1000)2 Por lo tanto, después de haber eliminado los ceros a la izquierda en la parte entera y los ceros a la derecha en la parte decimal, tenemos que: (5F6C.AB8)16 = (101111101101100.101010111)2 EJEMPLO 1.10 Convertir (10010111010001.111011)2 a hexadecimal. Tomamos los dígitos de la parte entera desde el punto decimal en grupos de cuatro. Podemos añadir ceros a la izquierda para que todos los grupos tengan cuatro cifras: 0010 , 0101 , 1101 , 0001 2 , 5 , D , 1 Para la parte decimal se sigue el mismo proceso, comenzando desde el punto decimal: 1110 , 1100 E , C Por lo tanto, al final nos queda: (10010111010001.111011)2 = (25D1.EC)16 El sistema de numeración hexadecimal es muy utilizado hoy en día, aunque muchos programas informáticos, compiladores y demás utilidades lo han ido sustituyendo por el sistema de numeración decimal. Sin embargo, todavía se emplea en determinados aspectos de la informática en general donde resulta más sencilla su aplicación que el decimal o el binario, y en redes no es la excepción. 1.3. COMUNICACIÓN DE DATOS Para que dos ordenadores puedan intercambiar información, es necesario que existan unos dispositivos que la transporten desde el equipo origen al destino. En este apartado se realizará una introducción a los dispositivos y mecanismos de comunicación en redes informáticas que, posteriormente, se ampliará a lo largo de los capítulos de este libro. RA-MA CAPÍTULO 1: INTRODUCCIÓN A LOS SISTEMAS DE COMUNICACIONES 17 1.3.1. Conceptos Desde los primeros tiempos de la informática, en un ordenador se han distinguido dos partes fundamentales: el hardware y el software. Aunque estas dos palabras se usan ampliamente, quizá sea preferible utilizar sus equivalentes en castellano: dispositivos y programas. Si realizamos la comparación con el ser humano, estos conceptos podrían corresponder al cuerpo y al alma de la persona. Todos los dispositivos de un ordenador son “elementos físicos”, es decir, todo aquello que resulta visible y tangible en el mundo real. Ejemplos de dispositivos físicos son el teclado, la pantalla, etc. Por su parte, los programas de un ordenador definen su comportamiento: constan de información (datos) y ciertas operaciones definidas que le indican la forma de manipular esos datos. Estos programas no existen en la realidad, aunque están almacenados en la memoria del ordenador como ceros y unos (en realidad, como tensiones eléctricas). Aunque no son tangibles, su importancia radica en el hecho de que los programas controlan a todos los dispositivos del ordenador. Existe un dicho que resume este hecho: El mejor ordenador del mundo sólo sirve para matar marcianos si no tiene el programa adecuado. Si deseamos permitir la comunicación entre varios ordenadores, necesitamos conectarlos a una red de transmisión de datos, como se muestra en la figura 1.6. Al igual que un ordenador individual, esta red posee dos partes fundamentales: Dispositivos de red: Se corresponde con el conjunto de elementos físicos que hacen posible la comunicación entre el emisor y el receptor. Estos dispositivos son: • Canal de comunicación: Es el medio por el que circula la información. • Nodos intermedios: Son los elementos encargados de realizar la selección del mejor camino por el que circulará la información (en caso de que exista más de un camino). También funcionan como emisores o receptores y, en este caso, se asemejan más a un teléfono, ordenador o fax. Programas de red: A este tipo pertenecen todos los programas que permiten controlar el funcionamiento de la red, para hacerla más fiable. Las primeras redes de computadores se diseñaron pensando en los dispositivos y dejando en un segundo plano los programas; hoy en día el software de redes es un elemento muy importante y está altamente estructurado. 18 REDES DE ÁREA LOCAL RA-MA Figura 1.6. Red de comunicación de datos. Diagrama simplificado. 1.3.2. Servicios y protocolos Los servicios de comunicaciones proporcionados por una red de transmisión de datos siguen unos protocolos bien establecidos y estandarizados. Si a una red en particular se le desea añadir una funcionalidad concreta, se deberá comprobar si ya posee el protocolo adecuado o hay que añadírselo. Un protocolo de red define unas normas a seguir a la hora de transmitir la información, normas que pueden ser: velocidad de transmisión, tipo de información, formato de los mensajes, etc. Por ejemplo, podemos hacer la analogía con el sistema telefónico. En este caso, los servicios proporcionados pueden ser transmisión de voz, transmisión de datos, llamada en espera, llamada a tres, etc. Así mismo, el protocolo para establecer una comunicación debe seguir estrictamente los siguientes pasos: 1. 2. 3. 4. 5. 6. 7. 8. Descolgar el teléfono. Comprobar si hay línea. Si no hay, colgar y volver al paso 1. Marcar el número del otro usuario. Esperar tono. Si el tono es “comunicando”, colgar y volver al paso 1. Si da más de 6 tonos y no contesta, ir al paso 8. Hablar cuando el otro usuario conteste. Colgar. Si no se siguen las reglas del protocolo estrictamente, la comunicación no se realizará en condiciones. Resulta absurdo que el usuario comience a hablar antes de tiempo porque la otra persona no oiría la conversación; así mismo, si cuelga de forma precipitada, también se perderá una parte de la conversación. Este ejemplo de protocolo resulta a primera vista muy simple y todos nosotros estamos acostumbrados a seguirlo. En comunicaciones de datos, los protocolos empleados son más complejos porque deben ser capaces de corregir errores; en el caso de una comunicación normal, si el usuario no entiende, sólo tiene que decir ¿Cómo dices? o ¿Puedes repetir?. Sin embargo, para ambos casos, la idea de base es la misma. RA-MA CAPÍTULO 1: INTRODUCCIÓN A LOS SISTEMAS DE COMUNICACIONES 19 En muchas ocasiones no está clara la división entre protocolo y red, ya que existen redes de transmisión que utilizan sus propios protocolos. Una red está orientada a la transmisión de la información entre determinadas zonas geográficas. Esta idea tan general se convierte en la práctica en muchos kilómetros de cableado conectados a centralitas y otros dispositivos, todo ello destinado a ofrecer un conjunto de servicios al usuario. Estos servicios dependen fundamentalmente del tipo de información que se va a transmitir, lo que, a su vez, repercute en dos características muy importantes: protocolo utilizado y velocidad de transmisión requerida4. Los servicios básicos que puede proporcionar una red de comunicación son los siguientes: Transmisión de voz: Éste es el servicio básico que han ofrecido las redes de comunicación desde sus inicios. Aunque este libro se centra en las redes de ordenadores, muchas de ellas permiten la transmisión de voz. Transmisión de datos: Disponible en todas las redes. La información que se transmite posee unas características muy heterogéneas: bloques de reducido tamaño (mensajes de correo electrónico), datos esporádicos (comandos para su ejecución remota, conexión con un servidor web, etc.), bloques de datos de gran tamaño (archivos transferidos), vídeo digital (que supone una gran cantidad de imágenes por segundo) y un largo etcétera. La tendencia actual conduce hacia la integración total de todos estos servicios en una sola red de comunicación. El obstáculo principal que dificulta esta evolución se encuentra en que todas las redes disponen de una capacidad de transmisión limitada. Establecimiento de la llamada: El servicio de establecimiento de llamada es fundamental en la mayoría de las redes, no así en determinados servicios específicos, como el envío y recepción de mensajes SMS. Tarificación: Todas las redes públicas, a excepción de las privadas, disponen de este servicio que permite conocer el grado de utilización de los servicios de comunicación por parte del usuario. La facturación se puede llevar a cabo por tiempo de conexión, por cantidad de información transmitida, etc. 1.3.3. Redes de transmisión de datos Como se ha visto en el apartado anterior, las redes de transmisión de datos ofrecen servicios muy variados a los usuarios. Esta variedad ha implicado que hasta la 4 Todas las redes de comunicación existentes están limitadas por una velocidad máxima o cantidad de información enviada por segundo. En el capítulo 3 se verá más profundamente este hecho. 20 REDES DE ÁREA LOCAL RA-MA fecha existan diferentes tipos de redes funcionando a lo largo del planeta. En este apartado veremos algunas de las redes de transmisión de datos más importantes y los servicios ofrecidos por ellas. Red Telefónica Conmutada (RTC) La Red Telefónica Conmutada (RTC) está destinada a la transmisión de voz a través de corriente eléctrica que circula por un hilo conductor. Desde su invención en 1876, ha crecido hasta llegar a cientos de millones de abonados en todo el mundo. Inicialmente se trataba de una red conmutada manualmente por operadora, que se encargaba de establecer la conexión entre los diferentes abonados. Más adelante, cuando el número de usuarios desbordó este sistema, se concibió la idea de dotar a cada abonado de un número personal que permitiera la distinción del resto, además de la implantación de centralitas automáticas, capaces de establecer la conexión entre dos abonados sabiendo sus direcciones numéricas. El principal servicio ofrecido por la red telefónica conmutada es la transmisión de voz en tiempo real, además de la tarificación por pasos, aunque hoy en día se ofrece una cantidad de servicios al abonado bastante importante (llamada en espera, múltiples números de un abonado, conferencia a tres, marcación abreviada, desvío de llamadas, etc.). La transmisión de la información se realiza utilizando una señal de carácter analógico y diferentes tonos para indicar a la centralita el abonado de destino. Télex El télex es un servicio público ya en desuso para la comunicación de información textual en forma de mensajes. Es responsabilidad de la Dirección General de Correos y Telégrafos y consta, en esencia, de una red de transmisión independiente mediante la cual se facilita la intercomunicación de abonados a través de líneas especiales télex y de centrales telegráficas de conmutación. Iberpac Iberpac es una red de transmisión de datos extendida por toda la geografía española. Actualmente se está restringiendo su uso a ciertas comunicaciones, como las sucursales bancarias y los cajeros automáticos. Aunque se trata de una red de transmisión de datos bastante lenta para las necesidades de comunicación actuales, su fiabilidad y seguridad hace que todavía no se haya desechado completamente su uso. Iberpac se basa en el conjunto de protocolos de comunicaciones X.25, cuya exposición se incluye en el capítulo 2, apartado 2.5. Red Digital de Servicios Integrados La Red Digital de Servicios Integrados (RDSI) procede de la evolución de la red digital integrada y proporciona conexiones digitales extremo a extremo para soportar una amplia gama de servicios, tanto de voz como de otros tipos y a la que los usuarios acceden a través de un conjunto definido de interfaces normalizadas. Esta red ofrece servicios de comunicación de voz, datos, fax, videoconferencia, etc. RA-MA CAPÍTULO 1: INTRODUCCIÓN A LOS SISTEMAS DE COMUNICACIONES 21 Internet Internet es una gran red mundial de ordenadores formada por multitud de pequeñas redes y de ordenadores individuales conectados unos con ostros de forma que sea posible el intercambio de información entre ellos. El éxito de Internet se basa en que se puede considerar como una única entidad, es decir, que es posible tomar información de otros sistemas como si estuviesen al lado. Las redes de Internet pueden dividirse en tres clases: • Redes de tránsito o transporte internacional: Garantizan la interconexión de las diferentes redes de proveedores de la conexión. • Redes regionales y de proveedores de conexión: Garantizan la conectividad entre el usuario final y las redes de tránsito. • Redes de usuario final: Van desde una simple conexión de un ordenador hasta redes corporativas privadas de una empresa (LAN). Los servicios proporcionados por Internet son: Grupos de noticias (para divulgar información a diferentes grupos de personas), Telnet (permite la conexión con sistemas informáticos centrales desde máquinas remotas), Archie (ayuda a la localización de archivos que estén disponibles para ser transferidos por Internet), FTP (difusión de ficheros), correo electrónico o e-mail (gestiona el envío y recepción de correo) y WWW (para difusión de documentos presentados usando una gran diversidad de medios), entre otros. Figura 1.7. Estructura básica de la red Internet. Se puede apreciar la red de tránsito principal (rodeada por el círculo) y los proveedores de acceso (en forma de rectángulo). 22 REDES DE ÁREA LOCAL RA-MA ATM ATM (Modo de Transferencia Asíncrono) es una nueva tecnología de transmisión que permite la implementación de servicios que requieran una gran velocidad de transmisión. Aunque está pensada para funcionar sobre cableado de fibra óptica, en realidad lo puede hacer sobre cualquier red (incluso la red telefónica conmutada). Esta nueva tecnología, todavía en desarrollo, permitirá a los abonados la difusión de películas, la videoconferencia de alta calidad, además de todos los tipos de transferencia de información que se utilizan hoy en día. Actualmente, el funcionamiento experimental de ATM se realiza sobre redes que ocupan zonas geográficas muy reducidas. ADSL ADSL (Línea Asimétrica Digital de Suscriptor) es la tecnología que consiste en utilizar las líneas de la red telefónica conmutada para transmitir datos a alta velocidad. Puesto que la capacidad de la línea es muy escasa, se utilizan técnicas especiales para conseguir una tasa de transmisión alta. ADSL se ha diseñado como alternativa inmediata a las redes de transmisión existentes, fundamentalmente para transmitir vídeo bajo demanda. Frame Relay La red Frame Relay ha sido diseñada para comunicar amplias zonas geográficas. Transmite datos a alta velocidad y los usuarios la contratan mediante una tarifa plana. Todos los detalles de funcionamiento de esta red se verán en capítulos posteriores. 1.3.4. Clasificación de las redes Existe multitud de redes, cada una de ellas con unas características específicas que las hacen diferentes del resto. Podemos clasificar a las redes en diferentes tipos, atendiendo a diferentes criterios. La clasificación que se expone a continuación está ordenada según los criterios más importantes. Titularidad de la red Esta clasificación atiende a la propiedad de la red, por lo que se puede hacer una división en dos tipos de redes: redes privadas dedicadas y redes compartidas. • Redes dedicadas: Una red dedicada es aquélla en la que sus líneas de comunicación son diseñadas e instaladas por el usuario o administrador, o bien, alquiladas a las compañías de comunicaciones que ofrecen este tipo de servicios (en el caso de que sea necesario comunicar zonas geográficas alejadas), y siempre para su uso exclusivo. Ejemplo de este tipo de red puede ser la red local de un aula de informática de instituto o facultad. RA-MA CAPÍTULO 1: INTRODUCCIÓN A LOS SISTEMAS DE COMUNICACIONES 23 • Redes compartidas: Las redes compartidas son aquéllas en las que las líneas de comunicación soportan información de diferentes usuarios. Se trata en todos los casos de redes de servicio público ofertadas por las compañías de telecomunicaciones bajo cuotas de alquiler en función de la utilización realizada o bajo tarifas por tiempo limitado. Pertenecen a este grupo las redes telefónicas conmutadas y las redes especiales para transmisión de datos. Ejemplos de este tipo de redes son: la red de telefonía fija, la red de telefonía móvil, RDSI, Iberpac, las redes de fibra óptica, etc. Topología Esta clasificación tiene en cuenta la arquitectura de la red, es decir, la forma en la que se interconectan los diferentes nodos o usuarios de ella: • Malla: Es una interconexión total de todos los nodos, con la ventaja de que, si una ruta falla, se puede seleccionar otra alternativa. Este tipo de red es más costoso de construir, ya que hace falta más cable. Figura 1.8. Red con topología en malla • Estrella: Los equipos se conectarán a un nodo central con funciones de distribución, conmutación y control. Si el nodo central falla, quedará inutilizada toda la red; si es un nodo de los extremos, sólo éste quedará aislado. Normalmente, el nodo central no funciona como estación, sino que más bien suele tratarse de dispositivos específicos. Figura 1.9. Red con topología en estrella RA-MA 24 REDES DE ÁREA LOCAL • Bus: Utiliza un único cable para conectar los equipos. Esta configuración es la que requiere menos cableado, pero tiene el inconveniente de que, si falla algún enlace, todos los nodos quedan aislados. Figura 1.10. Red con topología en bus • Árbol: Es una forma de conectar nodos como una estructura jerarquizada. Esta topología es la menos utilizada, y se prefiere la topología irregular, ya que el fallo de un nodo o un enlace deja a conjuntos de nodos incomunicados entre sí. Figura 1.11. Red con topología en árbol • Anillo: Todos los nodos están conectados a una única vía con sus dos extremos unidos. Al igual que ocurre con la topología en bus, si falla algún enlace, la red deja de funcionar completamente. Figura 1.12. Red con topología en anillo • Intersección de anillo: Varios anillos conectados por nodos comunes. El inconveniente de esta topología es que, si fallan los nodos comunes de los anillos, toda la red dejará de funcionar. RA-MA CAPÍTULO 1: INTRODUCCIÓN A LOS SISTEMAS DE COMUNICACIONES 25 Figura 1.13. Red con topología en intersección de anillo • Irregular: Cada nodo debe estar conectado, como mínimo, por un enlace, pero no existen más restricciones. Esta topología es la más utilizada en redes que ocupan zonas geográficas amplias. Esta topología permite la búsqueda de rutas alternativas cuando falla alguno de los enlaces. Figura 1.14. Red con topología irregular Transferencia de la información Esta clasificación tiene en cuenta la técnica empleada para transferir la información desde el origen al destino. Por lo tanto, también depende de la topología de la red y, si se ha separado de la clasificación anterior, ha sido porque existen diferentes topologías que comparten el mismo método de transmisión. Redes conmutadas (punto a punto): En este tipo de redes, un equipo origen (emisor) selecciona un equipo con el que quiere conectarse (receptor) y la red es la encargada de habilitar una vía de conexión entre los dos equipos. Normalmente pueden seleccionarse varios caminos candidatos para esta vía de comunicación que puede o no dedicarse exclusivamente a la misma. Existen tres métodos para la transmisión de la información y la habilitación de la conexión: • Conmutación de circuitos: En este tipo de comunicación, se establece un camino único dedicado. La ruta que sigue la información se establece durante todo el proceso de comunicación, aunque existan algunos tramos de esa ruta que se compartan con otras rutas diferentes. Una vez finalizada la comunicación, es 26 REDES DE ÁREA LOCAL RA-MA necesario liberar la conexión. Por su parte, la información se envía íntegra desde el origen al destino, y viceversa, mediante una línea de transmisión bidireccional. En general, se seguirán los siguientes pasos: 1.º Establecimiento de la conexión, 2.º Transferencia de la información y 3.º Liberación de la conexión. Este método es el empleado en una llamada telefónica normal. • Conmutación de paquetes: En este caso, el mensaje a enviar se divide en fragmentos, cada uno de los cuales es enviado a la red y circula por ésta hasta que llega a su destino. Cada fragmento, denominado paquete, contiene parte de la información a transmitir, información de control, además de los números o direcciones que identifican al origen y al destino. • Conmutación de mensajes: La información que envía el emisor se aloja en un único mensaje con la dirección de destino y se envía al siguiente nodo. Éste almacena la información hasta que hay un camino libre, dando lugar, a su vez, al envío al siguiente nodo, hasta que finalmente el mensaje llega a su destino. Redes de difusión (multipunto): En este caso, un equipo o nodo envía la información a todos los nodos y es el destinatario el encargado de seleccionar y captar esa información. Esta forma de transmisión de la información está condicionada por la topología de la red, ya que ésta se caracteriza por disponer de un único camino o vía de comunicación que debe ser compartido por todos los nodos o equipos. Esto quiere decir que la red debe tener una topología en bus o anillo, o debe estar basada en enlaces por ondas de radio5. Localización geográfica La localización geográfica de la red es un factor a tener en cuenta a la hora de diseñarla y montarla. No es lo mismo montar una red para un aula de informática que interconectar las oficinas de dos sucursales que la misma empresa tiene instaladas en diferentes países. Sin embargo, esta clasificación muchas veces resulta confusa o arbitraria, ya que se basa en criterios vagamente definidos. • Subred o segmento de red: Un segmento de red está formado por un conjunto de estaciones que comparten el mismo medio de transmisión. El segmento está limitado en espacio al departamento de una empresa, un aula de informática, etc. Se considera al segmento como la red de comunicación más pequeña, y todas las redes de mayor tamaño están constituidas por la unión de varios segmentos de red. 5 Recuérdese que en una transmisión de radio todas las estaciones pueden escuchar en mensaje emitido y, por lo tanto, el aire es un medio de transmisión compartido. RA-MA CAPÍTULO 1: INTRODUCCIÓN A LOS SISTEMAS DE COMUNICACIONES 27 • Red de área local (LAN): Una LAN es un término vago que se refiere a uno o varios segmentos de red conectados mediante dispositivos especiales. Normalmente se le da este calificativo a las redes cuya extensión no sobrepasa el mismo edificio donde está instalada (o incluso la misma habitación). • Red de campus: Una red de campus se extiende a otros edificios dentro de un mismo campus o polígono industrial. Generalmente, las diversas redes de cada edificio se conectan a un tendido de cable principal. Generalmente, la empresa es propietaria del terreno por el que se extiende el cable y tiene libertad para poner cuantos cables sean necesarios sin solicitar permisos especiales. • Red de área metropolitana (MAN): Generalmente, una MAN está confinada dentro de una misma ciudad y se haya sujeta a regulaciones locales. Puede constar de varios recursos públicos o privados, como el sistema de telefonía local, sistemas de microondas locales o cables enterrados de fibra óptica. Una empresa local construye y mantiene la red, y la pone a disposición del público. Puede conectar sus redes a la MAN y utilizarla para transferir información entre redes de otras ubicaciones de la empresa dentro del área metropolitana. • Red de área extensa (WAN) y redes globales: Las WAN y redes globales abarcan varias ciudades, regiones o países. Los enlaces WAN son ofrecidos generalmente por empresas de telecomunicaciones públicas o privadas que utilizan enlaces de microondas, fibra óptica o vía satélite. Actualmente, el método empleado para conectar una WAN utiliza líneas telefónicas estándar o líneas telefónicas modificadas para ofrecer un servicio más rápido. 1.3.5. Elementos básicos de un sistema de comunicación La forma más simple de comunicar dos ordenadores es utilizando un simple cable conectado a ellos. Este cable se llama módem nulo, y normalmente se conecta a unos enchufes especiales situados en la parte trasera de la carcasa. Estas conexiones se diseñaron en un principio con el objetivo de dotar a un ordenador de algún mecanismo que le permitiera la comunicación con otros dispositivos externos. Existen tres tipos de conexiones de módem nulo: el serie, el paralelo y el USB. La figura 1.15 muestra estos tres tipos de conexiones. No entraremos en más detalles de cómo se realiza la comunicación en estos casos (se verá en el capítulo 3, apartado 3.8). Sin embargo, sí hay que mencionar que hoy en día este tipo de comunicación está restringido a ciertas aplicaciones (transferencia de datos con ordenadores portátiles, por ejemplo), si bien estos puertos se utilizan fundamentalmente para la conexión de dispositivos periféricos (ratón, impresora, etc.). Las razones fundamentales son tres: 28 REDES DE ÁREA LOCAL RA-MA • No permiten conectar más de dos ordenadores a la vez (uno en cada extremo). • La longitud del cable está limitada a unos pocos metros, 15 en el caso del puerto serie y 7 en el caso del paralelo6. • La velocidad de transmisión es bastante lenta para la mayoría de las aplicaciones, a excepción de USB. Figura 1.15. Conexiones serie, paralelo y USB. Aquí se muestra el conector serie (izda.), dotado de 9 pines (llamado DB-9 en la bibliografía especializada), el conector paralelo de 25 pines (DB-25) y el conector USB. En el ordenador, el puerto serie suele ser macho y el puerto paralelo y USB, hembra. Dadas las limitaciones de la comunicación serie y paralelo, hoy en día se ha limitado su uso a situaciones que no requieren comunicaciones permanentes ni velocidades elevadas. Una red de comunicación que supera las deficiencias de la transmisión serie o paralelo está formada por los siguientes elementos básicos: ETD (Equipo Terminal de Datos): Es el dispositivo que envía o recibe la información en la comunicación. Normalmente será un teléfono, un fax o un ordenador. ECD (Equipo de Comunicación de Datos): Es el dispositivo encargado de convertir el formato de la señal utilizado por el ETD en otro que sea más adecuado para la transmisión por el canal de comunicación. También realiza la adaptación inversa cuando la señal llega al destino. Este dispositivo puede ser un módem, una tarjeta RDSI, etc. Multiplexor: Funciona como un interruptor que manda la información transmitida por un canal u otro de los disponibles, dependiendo de la ubicación del destinatario. Concentrador: Realiza el proceso inverso al multiplexor, es decir, concentra la información proveniente de varios canales de comunicación y la envía hacia el ECD. 6 Estos límites se han establecido para el primer estándar desarrollado: el RS-232C. Aunque existen otras normas que soportan mayores velocidades y longitudes de cable, la mayoría de ellas no se utilizan por los fabricantes de ordenadores. RA-MA CAPÍTULO 1: INTRODUCCIÓN A LOS SISTEMAS DE COMUNICACIONES 29 Figura 1.16. Elementos de un sistema de comunicación básico. Diagrama simplificado. 1.4. NORMALIZACIÓN Y ORGANISMOS Las primeras redes de computadoras que se construyeron, tanto comerciales como militares, utilizaban sus propias normas de diseño y funcionamiento. Han llegado a existir compañías (como es el caso del gigante IBM) que utilizaban normas de comunicación diferentes para sus propios productos. ¿A qué llevó esta situación? Ocurrió que la mayoría de las grandes empresas que contrataban redes de computadoras llegaron a instalar en sus sucursales y edificios grupos de redes de diferentes fabricantes. Cuando necesitaron comunicar esas redes, surgieron los problemas: los sistemas de transmisión no eran compatibles y era necesario deshacerse de todo lo instalado hasta la fecha y montar redes nuevas, todas ellas del mismo tipo. La otra solución consistía en desarrollar equipos capaces de convertir y adaptar las señales de comunicación entre redes, alternativa de coste muy elevado. A partir de entonces, se comprobó que era necesario definir un conjunto de normas estandarizado, lo que permitiría coordinar a todos los fabricantes y proveedores. Estos estándares no sólo posibilitan la comunicación entre diferentes computadoras, sino que también permiten que los productos fabricados tengan un menor coste y una mayor aceptación. Las normas se dividen en dos categorías: Estándares de facto: Viene de la palabra que en latín significa de hecho y a este grupo pertenecen los estándares que simplemente aparecieron y se impusieron en el mercado por su extensa utilización. El ordenador personal (PC) de IBM y sus sucesores son normas de facto porque la mayoría de los fabricantes copiaron los equipos de IBM con mucha exactitud. El sistema operativo UNIX también se ha convertido en un estándar al ser copiado por otros fabricantes: SCO, Minix, distribuciones de Linux, etc. 30 REDES DE ÁREA LOCAL RA-MA Estándares de iure: Viene del latín que significa ‘por ley’ y, comparado con el tipo anterior, son estándares formales y legales acordados por algún organismo internacional de estandarización autorizado. Estos organismos son de dos tipos: los creados por tratados entre varios países y las organizaciones voluntarias. Existen varias organizaciones internacionales dedicadas a tareas de normalización y estandarización. Entre ellas, destacaremos: ITU (Unión Internacional de Telecomunicaciones). Organización de las Naciones Unidas constituida, en principio, por las autoridades de Correos, Telégrafos y Teléfonos (PTT) de los países miembros. Estados Unidos está representado por el Departamento de Estado. Se encarga de realizar recomendaciones técnicas sobre teléfono, telégrafo e interfaces de comunicación de datos que, a menudo, se reconocen como estándares. Trabaja en colaboración con ISO, que en la actualidad es miembro del ITU. Tiene tres sectores principales: sector de radiocomunicaciones (ITU-R), sector de desarrollo (ITU-D) y sector de telecomunicaciones (ITU-T), que antes de 1993 se denominaba CCITT (Comité Consultivo Internacional Telegráfico y Telefónico). ISO (Organización Internacional de Normalización). Agrupa a 89 países y se trata de una organización voluntaria, no gubernamental, cuyos miembros han desarrollado estándares para las naciones participantes. Uno de sus comités se ocupa de los sistemas de información. Han desarrollado el modelo de referencia OSI y protocolos estándares para varios niveles de ese modelo. ANSI (Instituto Americano de Normas Nacionales). Asociación con fines no lucrativos, formada por fabricantes, usuarios, compañías que ofrecen servicios públicos de comunicaciones y otras organizaciones interesadas en temas de comunicación. Es el representante estadounidense de ISO, que adopta con frecuencia los estándares ANSI como normas internacionales. IEEE (Instituto de Ingenieros Eléctricos y Electrónicos). Además de publicar revistas y preparar conferencias, esta organización se encarga de elaborar estándares en las áreas de ingeniería eléctrica y computación (como es el estándar IEEE 802 para redes de área local). IAB (Consejo de Arquitectura de Internet). Comité informal encargado de supervisar la aparición de nuevos estándares y protocolos para Internet. Los acuerdos alcanzados aparecen en una serie de documentos que se publican a toda la comunidad denominados RFC (Request For Comments o ‘Petición de Comentarios’). Los documentos RFC superan actualmente los 2.000 e incluyen todas las especificaciones de la arquitectura TCP/IP de Internet. RA-MA CAPÍTULO 1: INTRODUCCIÓN A LOS SISTEMAS DE COMUNICACIONES 31 1.5. EJERCICIOS 1.1. Completa la siguiente tabla de equivalencias: Decimal Binario Hexadecimal 117 1011101011 A21C8 635.271 1101011.110111 AC81.FE4 1.2. Expresa los siguientes números en binario natural a decimal: 10010110101111011.110111 100101011.00011 10000000000 111.0110111101 1.3. Expresa los siguientes números en decimal a binario natural: 6734 456.0033 63474.21 0.673687 1754.00023 1.4. Expresa los siguientes números en decimal: (3462.33)7 (12322.012)4 (165743.658)9 (1285A.33)11 32 REDES DE ÁREA LOCAL RA-MA 1.5. Expresa en decimal los siguientes números en hexadecimal: A1B23C.FF F34D.12 D21395F.CC3B 8634.23 1.6. Pasa a hexadecimal los siguientes números en decimal: 123.45 275954.478 68745.00056 9.06568504 1.7. Explica las diferencias y relaciones que existen entre los conceptos de protocolo y servicio. 1.8. Imagina que deseas enviar un mensaje de texto SMS desde tu teléfono móvil a un amigo. Enumera los pasos que debes seguir para conseguir esto, es decir, el protocolo de comunicación utilizado en este caso. Pon otro ejemplo de protocolo de comunicación que utilices en tu vida cotidiana. 1.9. Enumera las ventajas e inconvenientes que existen entre los tres métodos básicos para transferencia de la información: conmutación de circuitos, conmutación de mensajes y conmutación de paquetes. 1.10. Para las redes de transmisión de datos que utilizas en tu vida diaria, enumera los servicios de comunicación que ofrecen. Indica también otros servicios no ofrecidos que consideres puedan resultar prácticos o beneficiosos para las personas. 1.6. BIBLIOGRAFÍA Libros en castellano: [ATM00] Redes ATM: Principios de interconexión y su aplicación L. Guijarro Ra-Ma, 2000 [RAL97] Redes de área local Greg Nunemacher Paraninfo, 1997 [RDC97] Redes de computadoras Andrew S. Tanenbaum Prentice-Hall, 1997, 3.ª ed. RA-MA CAPÍTULO 1: INTRODUCCIÓN A LOS SISTEMAS DE COMUNICACIONES 33 [RED01] Redes Locales José Luis Raya y Cristina Raya Ra-Ma, 2001 Páginas de Internet: [CYBENET] Apuntes y trabajos de temas de informática en general Varios autores http://www.cybercursos.net/ [PROCOM] Documentación variada sobre protocolos e interfaces de red Varios autores (en inglés) http://www.protocols.com/protoc.shtml CAPÍTULO 2 ARQUITECTURAS DE REDES Este capítulo está dedicado en exclusiva a ofrecer una visión general de todos los aspectos que entran en juego en una red y la interacción entre ellos. Así mismo se expondrá también de forma global las consideraciones de diseño de redes. Cuando se diseña una red de ordenadores, es necesario resolver una gran cantidad de problemas que aparecen: ¿se produce gran cantidad de errores que hay que corregir?; ¿hay que compartir un único medio de transmisión?; ¿cómo distinguimos unos ordenadores de otros?; ¿qué tipo de información se va a transmitir?; ¿se manejará información confidencial? Es evidente que una persona no debe enfrentarse directamente a todas estas cuestiones, sino que siempre es preferible tratarlas una a una y de forma aislada. En una red de comunicaciones entran en juego dos aspectos fundamentales: el hardware, que tiene que ver con los dispositivos físicos (se verán en el capítulo 3) y el software, que son los programas informáticos dedicados a controlar las comunicaciones. El capítulo 2 de este libro está dedicado al estudio general del software de red. Figura 2.0. Esquema de un procesador 2.1. INTRODUCCIÓN Este capítulo está centrado en los aspectos del diseño del software de red. Como se mencionó en el capítulo anterior, el software de red es el conjunto de programas encargado de gestionar la red, controlar su uso, realizar detección y corrección de errores, etc. Al igual que un sistema operativo realiza una gestión 36 REDES DE ÁREA LOCAL RA-MA eficiente de los recursos de una máquina de cara a su utilización por los usuarios y las aplicaciones, el software de red realiza esta misma tarea de cara a los recursos físicos de la red (hardware de red). La arquitectura de una red viene definida por tres características fundamentales: su topología, el método de acceso a la red y los protocolos de comunicación. Cada tipo de red tiene definido un método de acceso al cable que evita o reduce los conflictos de comunicaciones y controla el modo en que la información es enviada de una estación a otra. Veamos más a fondo estas tres características: • Topología: Como se vio en el capítulo anterior, la topología de una red es la organización de su cableado, ya que define la configuración básica de la interconexión de estaciones y, en algunos casos, el camino de una transmisión de datos sobre el cable. • Método de acceso al cable: Todas las redes que poseen un medio compartido para transmitir la información necesitan ponerse de acuerdo a la hora de enviar información, ya que no pueden hacerlo a la vez. Esta circunstancia se da de igual forma en la transmisión de ondas de radio, donde el medio compartido es el aire. En este caso, si dos estaciones transmiten a la vez en la misma frecuencia, la señal recogida en los receptores será una mezcla de las dos. Para las redes que no posean un medio compartido, el método de acceso al cable es trivial y no es necesario llevar a cabo ningún control para transmitir. • Protocolos de comunicaciones: Como se introdujo en el capítulo 1, son las reglas y procedimientos utilizados en una red para realizar la comunicación. Esas reglas tienen en cuenta el método utilizado para corregir errores, establecer una comunicación, etc. Existen diferentes niveles de protocolos. Los protocolos de alto nivel definen cómo se comunican las aplicaciones (programas de ordenador) y los protocolos de bajo nivel definen cómo se transmiten las señales por el cable. Entre los protocolos de alto y bajo nivel, hay protocolos intermedios que realizan otras funciones, como establecer y mantener sesiones de comunicaciones y controlar las transmisiones para detectar errores. Observe que los protocolos de bajo nivel son específicos del tipo de cableado utilizado para la red. 2.2. ARQUITECTURAS BASADAS EN NIVELES Las redes se organizan en capas o niveles para reducir la complejidad de su diseño. Esta técnica se ha heredado de la metodología de programación consistente en dividir el problema en subproblemas más sencillos de tratar y en la programación modular (“Divide y vencerás”). Cada una de estas capas o subniveles (equivalente a un módulo) se construye sobre su predecesor (es decir, utiliza los servicios o funciones diseñados en él) y cada nivel es responsable de ofrecer servicios a niveles superiores. RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 37 Dentro de cada nivel de la arquitectura coexisten diferentes servicios. Así, los servicios de los niveles superiores pueden elegir cualquiera de los ofrecidos por las capas inferiores, dependiendo de la función que se quiera realizar. A la arquitectura por niveles también se le llama jerarquía de protocolos. Si los fabricantes quieren desarrollar productos compatibles, deberán ajustarse a los protocolos definidos para esa red. Por lo tanto, en una jerarquía de protocolos se siguen las siguientes reglas: Cada nivel dispone de un conjunto de servicios. Los servicios están definidos mediante protocolos estándares. Cada nivel se comunica solamente con el nivel inmediato superior y con el inmediato inferior. Cada uno de los niveles inferiores proporciona servicios a su nivel superior. Para ver con más detalle cómo funciona todo esto, vamos a exponer un ejemplo sencillo de una red de comunicación básica. Éste se incluye en los ejemplos 2.1, 2.2 y 2.3, donde se explican las diferentes alternativas de diseño a una red de comunicación real, sus ventajas e inconvenientes. EJEMPLO 2.1 Supongamos que hay que diseñar una red de comunicación que enlace dos estaciones diferentes situadas en dos pequeñas islas de un archipiélago. Además de los elementos físicos de comunicación, es necesario diseñar también los programas informáticos. Dadas esas condiciones, los responsables del proyecto acuerdan utilizar un enlace mediante ondas de radio, ya que tirar un cable marino resultaría demasiado costoso. Figura 2.1. Dos estaciones comunicadas mediante antenas de radio. Dependiendo de la longitud de onda de la señal utilizada, ésta podrá transmitirse en línea recta o en todas direcciones desde la antena emisora. Por esta razón, en muchas ocasiones es necesario solicitar permisos gubernamentales para transmitir. 38 REDES DE ÁREA LOCAL RA-MA Esta pequeña red de comunicación está formada por dos partes principales: − Dispositivos de transmisión: antenas, cableado, ordenadores, etc. − Programas de control de la transmisión, que serán ejecutados dentro de los ordenadores para su utilización por los usuarios. En este ejemplo nos centraremos en el diseño de los programas de control de la transmisión. Para éstos hay que tener en cuenta dos aspectos fundamentales: • Control de errores: Cada vez que se transmita un mensaje, es necesario modificarlo de alguna forma para que el receptor sea capaz de comprobar si ha llegado bien o no. En el capítulo 4, apartado 4.4, se exponen algunos métodos de detección de errores en las transmisiones. • Control de la transmisión: Puesto que se transmite utilizando señales de radio, cuando una antena está enviando información, la otra no puede enviar nada, ya que se mezclan las señales y los mensajes no se distinguen. Una primera alternativa sería desarrollar los programas de comunicación como un bloque único, es decir, como una sola función que contiene todas las instrucciones y que se ejecuta en el ordenador cada vez que se desea enviar o recibir información. El diagrama de la figura 2.2 muestra de una manera sencilla cómo estarían diseñados los dos programas: uno para enviar datos (llamado “Enviar”) y otro para recibirlos (llamado “Recibir”). Cualquier modificación posterior que se desee hacer tendrá que realizarse sobre los programas completos, ya que forman un bloque único. Las flechas indican el orden en el que se completan todos los pasos. Aunque cada programa es independiente, los dos se ejecutan a la vez en ambas estaciones, para que éstas puedan actuar como emisoras o receptoras. Estos programas pueden estar funcionando constantemente (es decir, una vez que llegan al bloque “Fin”, vuelven otra vez al bloque “Inicio”) o también pueden ejecutarse solamente cuando el usuario desea enviar o recibir datos; ambas opciones se consideran válidas. La figura 2.2 muestra que, para enviar un mensaje, primero se solicita que se escriba lo que se quiere mandar. Seguidamente, el ordenador debe codificarlo adecuadamente para que el equipo receptor sea capaz de detectar errores. El envío del mensaje codificado se hace comprobando primero si no hay nadie transmitiendo. Si la otra estación está transmitiendo, esperará un tiempo y volverá a intentarlo, puesto que no se permite que las dos estaciones transmitan al mismo tiempo. Por su parte, el programa que se encarga de la recepción de los mensajes, primero se queda a la escucha para recibir. Cuando llega, decodifica el mensaje y lo muestra al usuario en la pantalla del ordenador. Nótese que en este último no se han incluido controles adicionales, pero el bloque titulado “Decodificar Mensaje” podría haberse ampliado para comprobar si el mensaje ha llegado correctamente y solicitar al emisor que lo reenvíe si no ha sido así. Sin embargo, por simplicidad, supondremos que un mensaje erróneo puede ser corregido por el receptor sin necesidad de reenvío. RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 39 Figura 2.2. Programas de comunicación. Primera aproximación. EJEMPLO 2.2 Otra alternativa para el diseño de los programas de comunicación del ejemplo 2.1 consiste en dividir el problema en trozos más pequeños y tratarlos individualmente. Cada uno de esos fragmentos se convierte en un subprograma que realiza una función específica. Podemos considerar tres niveles, según se puede desprender de un análisis realizado al esquema de la figura 2.2: • Nivel 1: Funciones de transmisión y recepción. Se encargan de enviar o recibir datos, controlando la comunicación y evitando conflictos. Por lo tanto, son las funciones que están más cerca del medio de transmisión, es decir, la antena. • Nivel 2: Funciones de codificación y decodificación. Se encargan de codificar el mensaje convenientemente, además de decodificarlo. Estas funciones llaman a las del nivel 1 para transmitir el mensaje codificado o decodificar el recibido. • Nivel 3: Funciones principales de transmisión y recepción. Utilizan las funciones del nivel anterior para enviar o recibir datos. Por lo tanto, se puede establecer una jerarquía de subprogramas. Los que se encuentran en un determinado nivel utilizan los subprogramas de nivel inferior y a su vez son utilizados por subprogramas de un nivel superior (véase la figura 2.3). Por 40 REDES DE ÁREA LOCAL RA-MA ejemplo, el programa principal titulado “Enviar” hace una llamada al subprograma “Codificar” que, a su vez, utiliza el subprograma “Hablar”. Aunque a primera vista esta división pueda resultar poco útil, en la práctica resulta necesaria debido a la gran complejidad de los programas de comunicación reales. A los programadores se les simplifica mucho más su trabajo cuando se tienen que dedicar a solucionar problemas aislados, y no tener que controlar una gran variedad de casos diferentes a la vez. Figura 2.3. Programas de comunicación divididos por niveles. Si comparamos este esquema con el de la figura 2.2, podemos observar que los programas siguen exactamente los mismos pasos. RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 41 La división en niveles que se ha expuesto no sólo tiene la ventaja de permitir un diseño más simple, sino que además permite realizar modificaciones por bloques (al contrario que la solución expuesta en el ejemplo 2.1. Esto significa que, como se verá en el ejemplo 2.3, no es necesario modificar todos esos bloques cuando haya que realizar cambios o actualizaciones en los protocolos o se quieran incluir nuevos servicios en la red. EJEMPLO 2.3 Supongamos ahora que el archipiélago donde se encuentra la red de antenas entra en guerra con algún país vecino. En ese momento, los máximos responsables deciden implantar algún mecanismo que permita cifrar las comunicaciones, para que el enemigo no pueda interceptarlas. Ante esta situación, y si se seleccionó la división en niveles del diseño de la red (ejemplo 2.2), resultarán mucho más sencillas las modificaciones. De hecho, sólo habrá que modificar los subprogramas “Codificar” y “Decodificar” del nivel 2. La figura 2.4 muestra los cambios efectuados. Figura 2.4. Rediseño del programa de comunicación. Los cambios se efectúan en las funciones de codificación y decodificación. No se realizará ninguna modificación en el resto de subprogramas, quedando exactamente igual que en la figura 2.3. Si los programas se hubieran diseñado en un solo bloque (ejemplo 2.1), entonces se tendría que haber revisado éste por completo. Esto no significa que el programador tenga que modificar todas las líneas del código, pero tendrá que buscar las que correspondan a cada función, cambiarlas, comprobar que no interfiere con el resto del programa y finalmente compilarlo todo junto. El diseño por niveles también favorece el añadido de nuevas funciones de comunicación, quedando disponibles para niveles superiores si las necesitan. Por ejemplo, supongamos ahora que los mensajes que se envían son de vital importancia para los usuarios. Ahora se desea diseñar un mecanismo que le permita al emisor del mensaje saber si ha llegado al destinatario y, si no es así, reenviarlo. Por lo tanto, el diseñador de la red deberá crear nuevos subprogramas de comunicación que envíen y reciban confirmaciones de los 42 REDES DE ÁREA LOCAL RA-MA mensajes. Además, se podrán mantener los subprogramas de comunicaciones ya creados para transmisiones normales. La figura 2.5 muestra esos nuevos subprogramas. Figura 2.5. Subprogramas añadidos para el envío con confirmaciones. Estos subprogramas se encuentran en el nivel 3. Por lo tanto, si un usuario desea enviar o recibir datos con confirmaciones, deberá llamar a estos subprogramas. De lo contrario, deberá utilizar las funciones “Enviar” y “Recibir” de la figura 2.3. Después de estas modificaciones, la estructura de los programas de red quedaría ordenada jerárquicamente como muestra la tabla 2.1. Dentro de cada nivel pueden coexistir subprogramas que realicen la misma tarea, pero que empleen métodos diferentes para transmitir la información. Esta tarea permite que: • Subprogramas de niveles superiores puedan elegir los subprogramas a utilizar de niveles inferiores, dependiendo del tipo de transmisión que se vaya a realizar y de sus condiciones. • Pueda añadirse mayor funcionalidad a la red si se incluyen más servicios a los niveles, sin necesidad de modificar toda la estructura de los programas de comunicación. Aunque no se ha mencionado en los ejemplos anteriores, hay que especificar que, si en ese caso se hablaba de subprograma o función, su nombre más correcto en teoría de redes es servicio. Además, cuando se hablaba de mecanismo o método de transmisión (relativo a la forma en la que se comunican dos estaciones), realmente nos referimos al protocolo. RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 43 Tabla 2.1. Jerarquía de subprogramas del ejemplo 2.3 N.º Nivel 3 Funciones principales 2 Codificación y decodificación Transmisión y recepción 1 Subprogramas Enviar Recibir EnviarConf RecibirConf Codificar Decodificar Hablar Leer Cuando se comunican dos ordenadores que utilizan la misma arquitectura de red, los protocolos que se encuentran al mismo nivel de la jerarquía deben coordinar el proceso de comunicación. Según el ejemplo 2.3 visto anteriormente, el nivel 2 de un equipo (transmitiendo, por ejemplo) coordina sus actividades con el nivel 2 del otro extremo (que se encargaría de recibir). Esto quiere decir que ambos deben ponerse de acuerdo y utilizar las mismas reglas de transmisión. Si seguimos con el ejemplo 2.3, resulta obvio que no se puede utilizar el subprograma “EnviarConf” en una de las estaciones con el subprograma “Recibir” de la otra, ya que la comunicación no se realizaría correctamente entre ellas. En general, el nivel n de una máquina se comunica de forma indirecta con el nivel n homónimo de la otra máquina. Como se ha mencionado anteriormente, las reglas y convenciones usadas en esa comunicación se conocen como protocolo de nivel n. A los elementos activos de cada capa se les llama entidades o procesos (los subprogramas que se ejecutan en las estaciones de los ejemplos 2.2 y 2.3) y son éstos los que se comunican mediante el uso del protocolo. Al grupo formado por las entidades o procesos en máquinas diferentes que están al mismo nivel se llaman entidades pares o procesos pares. Figura 2.6. Diagrama simplificado de comunicación por niveles. Las líneas discontinuas representan la comunicación “virtual” entre los procesos pares, mientras que las líneas continuas indican la trayectoria real de comunicación. 44 REDES DE ÁREA LOCAL RA-MA El modelo de arquitectura por niveles necesita de información adicional para que los procesos pares puedan comunicarse a un determinado nivel. Estos datos adicionales dependen del protocolo utilizado y sólo se conoce su verdadero significado a ese nivel; normalmente, los niveles inferiores los tratan como si fuera información propiamente dicha. A ese añadido se le llama normalmente cabecera o información de control, y suele ir al principio del mensaje, aunque también puede ir al final o en ambos extremos. EJEMPLO 2.4 Siguiendo con el ejemplo 2.3, supongamos ahora que se ha decidido construir una nueva antena en otra isla cercana, también con el propósito de enviar y recibir información. Figura 2.7. Subprogramas de nivel 3 encargados de controlar las direcciones de origen y destino. También se incluyen los subprogramas de nivel 4, que ahora deben llamar a los del nivel 3, que son los que tienen por debajo. De igual forma, los subprogramas “EnviarConf” y “RecibirConf” que antes estaban en el nivel 3 también pasan al 4 y deben ser modificados del mismo modo. El resto de subprogramas de los niveles inferiores no varía. RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 45 En estas condiciones se plantea un problema adicional: cuando una estación transmite información, debe indicar a quién quiere enviársela, ya que ahora van a existir dos posibles destinatarios. Para solucionar este problema, lo más lógico es dar un número diferente a todas las estaciones (igual que un número de teléfono o un número de edificio en una calle), de forma que sea posible distinguir unas de otras y especificar el destinatario del mensaje enviado. El método más utilizado consiste en que, cuando una estación quiera transmitir, enviará el mensaje junto con una cabecera que indique cuál es la estación receptora. Según las necesidades, también se puede incluir en esa cabecera el número (o dirección) de la estación origen, por si hay que contestar. Una vez enviado el mensaje, todas las estaciones lo leen, pero sólo el destinatario podrá ver su contenido. Para realizar estos controles, vamos a añadir un nuevo nivel a la arquitectura con los subprogramas necesarios. Podría incluirse también sobre uno de los niveles existentes (1, 2 ó 3), pero es mejor distinguirlo ya que esta función es completamente distinta a las demás. La figura 2.7 muestra cómo queda ese nuevo nivel 3; el antiguo ha subido al nivel 4. Como se muestra en la figura 2.7, el subprograma “EnviarDestino” añade al mensaje la dirección del destinatario, que previamente ha introducido el usuario. Nótese que esta cabecera sólo la utilizan los subprogramas “EnviarDestino” y “RecibirOrigen”; este último comprueba si es el destinatario y, si es así, lo lee. En caso de que el mensaje no esté destinado a esa estación, el protocolo no deberá leerlo. Figura 2.8. Ejemplo de arquitectura con seis niveles. Cada capa añade una cabecera de control que, para niveles inferiores, se considera como datos puros a enviar. Al conjunto formado por los datos y el control se le llama trama, aunque posteriormente veremos que este nombre depende de la capa. 46 REDES DE ÁREA LOCAL RA-MA Cuando veamos ejemplos de arquitecturas de redes reales, comprobaremos que en todas sus capas se añaden cabeceras de control para la comunicación y todas ellas dependen del protocolo usado a ese nivel. En general, una arquitectura de seis capas añade cinco cabeceras de control para transmisión, como se muestra en la figura 2.8. La última capa no suele añadir información adicional ya que se encarga de enviar los dígitos binarios por el cable. Aunque a primera vista parezca que la transmisión de un mensaje necesita el envío de gran cantidad de información de control (hay veces que se envía más cantidad que datos), este desperdicio no es muy superior al que sucede en una arquitectura diseñada sin niveles. La razón fundamental es que, como se ha dicho, cada capa se encarga de realizar una función diferente y necesita de una cabecera diferente. Sin embargo, como se verá en capítulos posteriores, la división por niveles tiene el problema de que algunas capas añaden información que se repite en otras capas, sobre todo si no se ha hecho un buen diseño. Figura 2.9. Proveedores y usuarios de los servicios del ejemplo 2.2. Los rectángulos dentro de las capas son las entidades, mientras que las flechas representan las llamadas que hacen los usuarios del servicio a los proveedores del servicio (en ese sentido). No se ha tenido en cuenta el flujo de la información por las capas. Como se desprende de los ejemplos anteriores, las entidades de la capa n de la arquitectura implementan un determinado servicio que usa la capa n+1 (que se encuentra por encima). En este caso, la capa n se llama proveedor del servicio y la capa n+1 es el usuario del servicio. La capa n, a su vez, puede usar los servicios de la capa n–1 y, en ese caso, la capa n sería usuaria del servicio y la capa n–1 proveedor del servicio. Es posible que la capa n pueda ofrecer diferentes clases de servicios RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 47 (como se explica en el ejemplo 2.4), y será la capa n+1 (usuario del servicio) la que seleccione cuál quiere usar (haciendo la llamada al servicio correspondiente). Todo esto se puede ver ejemplificado en la figura 2.9. A los servicios de una capa se accede a través de un SAP (Service Access Point o Punto de Acceso al Servicio). Los SAP de la capa n son las “puertas” por las que las entidades de la capa n+1 tienen acceso a los servicios e intercambian información. Cada SAP es como una dirección o punto de entrada y normalmente es un número que lo identifica de manera única. Por ejemplo, si realizamos la comparación con los ejemplos 2.1, 2.2, 2.3 o 2.4, un SAP podría ser el nombre del subprograma que se encuentra en una determinada capa (como “Leer” o “Codificar”). Los SAP que tiene accesible el usuario directamente son “Enviar”, “Recibir”, “EnviarConf” y “RecibirConf”. En las arquitecturas de redes reales, los SAP suelen ser direcciones numéricas. Cuando una entidad de la capa n desea enviar información a su entidad par de la otra máquina, lo que hace es llamar al servicio correspondiente de la capa inferior a ésta (n–1), entregándole los datos que desea enviar. Esta llamada se realiza a través del SAP del servicio, y normalmente está definida por un conjunto de reglas que hay que cumplir, llamadas interfaz. Por ejemplo, el servicio de la capa n–1 puede solicitar que se le manden, además de los datos, el tamaño o su formato. Nótese que esta información de control no se utiliza por la entidad par ni por ninguna otra capa; sólo se usa con el fin de que la capa n intercambie información con la capa n–1. Una vez que se ha producido ese intercambio, la información de control que se ha pasado se desecha. Este proceso se muestra esquemáticamente en la figura 2.10. Figura 2.10. Esquema de comunicación entre capas. Aquí aparecen los pasos que sigue una capa para entregar la información a la capa que tiene por debajo. Nótese que la información de control se desecha una vez que se han transferido los datos. Obsérvese también que la cabecera que incluye cada capa es considerada como datos puros en la capa inferior. 48 REDES DE ÁREA LOCAL RA-MA 2.2.1. Problemas en el diseño de la arquitectura de la red Como se ha mencionado anteriormente, cada capa de una arquitectura de red se dedica a resolver alguno o algunos problemas clave en la comunicación. Aunque la mayoría de ellos se presentan en una sola capa (lo que resulta más óptimo y lógico), algunos aparecen en varias de ellas, forzando así a los diseñadores a duplicar código de programa y a aumentar la longitud de las cabeceras de control de los datos enviados. En este apartado mencionaremos algunos de los problemas más importantes a los que se enfrentan los diseñadores de redes, algunos de los cuales ya se han visto en el ejemplo de arquitectura anterior (ejemplos 2.1, 2.2, 2.3 y 2.4): ⌦ Encaminamiento: Cuando existen diferentes rutas posibles entre el origen y el destino (si la red tiene una topología de malla o irregular), se debe elegir una de ellas (normalmente, la más corta o la que tenga un tráfico menor). Todas las cuestiones relacionadas con el encaminamiento se exponen en el capítulo 5. ⌦ Direccionamiento: Puesto que una red normalmente tiene muchos ordenadores conectados, algunos de los cuales tienen múltiples procesos (programas7), se requiere un mecanismo para que un proceso en una máquina especifique con quién quiere comunicarse. Como consecuencia de tener varios destinos, se necesita alguna forma de direccionamiento que permita determinar un destino específico. Suele ser normal que un equipo tenga asignado varias direcciones diferentes, relacionadas con niveles diferentes de la arquitectura. En este caso, también habrá que establecer alguna correspondencia entre esas direcciones. ⌦ Acceso al medio: En las redes donde existe un medio de comunicación de difusión, debe existir algún mecanismo que controle el orden de transmisión de los interlocutores. De no ser así, todas las transmisiones se interfieren y no es posible llevar a cabo una comunicación en óptimas condiciones. Los protocolos de acceso al medio se explican ampliamente en el capítulo 4, apartado 4.5. ⌦ Saturación del receptor: Esta cuestión suele plantearse en todos los niveles de la arquitectura, y consiste en que un emisor rápido pueda saturar a un receptor lento. En determinadas condiciones, el proceso par de una determinada capa necesita un tiempo para procesar la información que le llega de su capa inferior y enviarla a la superior. Si ese tiempo es demasiado grande en comparación con la velocidad con la que le llega la información, es posible que se pierdan datos. Una posible solución a este problema consiste en que el receptor envíe un mensaje al emisor indicándole que está listo para recibir más datos. 7 Nótese que la mayoría de los sistemas operativos desarrollados actualmente permiten que varios programas se ejecuten a la vez (Windows, Linux, etc.). RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 49 ⌦ Mantenimiento del orden: Algunas redes de transmisión de datos desordenan los mensajes que envían, de forma que, si los mensajes se envían en una secuencia determinada, no se asegura que lleguen en esa misma secuencia. Para solucionar esto, el protocolo debe incorporar un mecanismo que le permita volver a ordenar los mensajes en el destino. Este mecanismo puede ser la numeración de los fragmentos, por ejemplo. ⌦ Control de errores: Todas las redes de comunicación de datos transmiten la información con una pequeña tasa de error, que en ningún caso es nula. Esto se debe a que los medios de transmisión son imperfectos. Tanto emisor como receptor deben ponerse de acuerdo a la hora de establecer qué mecanismos se van a utilizar para detectar y corregir errores, y si se va a notificar al emisor que los mensajes llegan correctamente. Todas las cuestiones relacionadas con el control de errores en una red de transmisión de datos se exponen en el capítulo 4, apartado 4.4. ⌦ Multiplexación: En determinadas condiciones, la red puede tener tramos en los que existe un único medio de transmisión que, por cuestiones económicas, debe ser compartido por diferentes comunicaciones que no tienen relación entre sí. Aunque esta técnica se emplea en capas inferiores para compartir un único canal, también se aplica en niveles superiores de la arquitectura para compartir una misma conexión entre dos estaciones. 2.2.2. Tipos de servicios Como se ha visto anteriormente, cada capa de una arquitectura de red define un conjunto de servicios que son utilizados por niveles superiores. Estos servicios hacen uso, a su vez, de servicios de niveles inferiores. Realmente sólo los servicios de la capa más baja son los que envían o reciben los datos por el medio físico de transmisión. Sin embargo, en los niveles superiores también se establecen comunicaciones con los niveles homónimos de las otras estaciones, aunque éstas sean solamente virtuales. Por esta razón, las capas suelen ofrecer los mismos tipos de servicios que la capa más inferior (al estilo de “Enviar_Al_Otro_Extremo” o “Recibir_ Del_Otro_Extremo”), aunque sea esta última la que realmente envía o recibe los datos. Cuando una capa n desea enviar información, lo que hace es ejecutar el servicio que se encuentra en la capa inmediatamente inferior (n–1). Para hacer esto, debe conocer la dirección del SAP del servicio o, lo que es lo mismo, conocer el nombre de esa función y los parámetros que le debe transferir (es decir, las reglas de la interfaz). Un ejemplo de llamada podría ser: Enviar_Al_Otro_Extremo(cabecera,datos,tamaño) Por todo esto, la capa n tiene la impresión de que es la capa n–1 la que envía la información al otro extremo, cuando puede no ser así (sólo si la capa n–1 es la capa 1). Esta característica es la que hace que los servicios de las diferentes capas de la arquitectura no sean tan diferentes entre sí, por lo menos en lo referente a la interfaz. 50 REDES DE ÁREA LOCAL RA-MA Básicamente, una capa cualquiera ofrece dos clasificaciones diferentes de tipos de servicios: por tipo de conexión y por método de acuse. Existen dos tipos de servicios dependiendo del tipo de conexión: Servicios orientados a la conexión: Para transferir información, es necesario que primero se establezca una conexión entre el emisor y el receptor. Para ello, es necesario que ambos se intercambien cierta información de control. Una vez se ha establecido la conexión, se envían los datos; si se desea finalizar, hay que terminar también esa conexión. El ejemplo más sencillo de este servicio es el sistema telefónico, donde cada usuario establece una conexión con la persona que desea hablar marcando su número de abonado. Servicios no orientados a la conexión: En este caso, no se establece una conexión para transferir los datos, sino que éstos se envían directamente. Puesto que no hay conexión, el mensaje tiene que llevar consigo la dirección del destinatario. Un ejemplo de servicio orientado a la conexión es el envío y recepción de mensajes cortos (SMS), que funciona de igual forma que una carta en el servicio postal. Existen dos tipos de servicios dependiendo del método de acuse: Servicios confirmados (fiables): Son aquéllos en los que la estación que envía información recibe una confirmación de que el mensaje llegó correctamente al destinatario. Si esa confirmación no llega o llega una confirmación negativa, el emisor sabrá que debe volver a enviar el mensaje. Servicios no confirmados (no fiables): Al contrario que el tipo anterior, en este caso el emisor envía un mensaje pero no sabe que el destinatario lo recibió correctamente, ya que no recibe ninguna confirmación posterior. Por lo tanto, los servicios de una capa pueden ser de cuatro tipos: Servicios orientados a la conexión y confirmados. Servicios orientados a la conexión y no confirmados. Servicios no orientados a la conexión y confirmados. Servicios no orientados a la conexión y no confirmados. Estos tipos de servicios se utilizan dependiendo de la aplicación. Por ejemplo, un usuario que está viendo una película digital por cable prefiere que la imagen sea más suave y que le llegue la mayor cantidad posible de fotogramas por segundo antes que perder una parte pequeña de ellos; en este caso, preferirá un servicio orientado a la conexión y no fiable. Y es que los retrasos producidos al enviar los acuses de recibo a RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 51 veces resultan intolerables. En otros casos, como, por ejemplo, la transferencia de archivos, el usuario prefiere que todos los dígitos binarios lleguen bien aunque la velocidad sea menor; en este caso, pedirá un servicio orientado a la conexión y fiable. En algunas aplicaciones, como el envío de mensajes cortos, el usuario no desea establecer una conexión, ya que el receptor puede encontrarse ausente en ese momento, por lo que deseará un servicio no orientado a la conexión, y si estos mensajes son importantes, también confirmado. Una determinada capa de una arquitectura puede ofrecer gran cantidad de servicios. Los servicios básicos que casi siempre se ofrecen son: CONNECT: Se emplea para establecer una conexión. Este servicio se utiliza en comunicaciones orientadas a la conexión. DISCONNECT: Se utiliza para liberar una conexión y así terminar la comunicación. También es un servicio orientado a la conexión. DATA: Se utiliza para enviar información, tanto orientado a la conexión como sin conexión. Cuando una capa cualquiera de la arquitectura desea establecer una conexión con su homónima remota, deberá realizar una llamada al servicio CONNECT de la capa que tiene debajo. Ésta, a su vez, también debe realizar esa llamada, a no ser que se trate de la capa más inferior. Lo mismo ocurre con los servicios DISCONNECT y DATA. 2.2.3. Primitivas de servicios Como se vio en los ejemplos 2.1, 2.2, 2.3 y 2.4, un servicio (como, por ejemplo, “Hablar”) está definido por un conjunto de operaciones más sencillas (“Enviar por la antena”, etc.) llamadas primitivas. Aunque en aquellos ejemplos se hablaba de una manera más informal, existe una clasificación y una nomenclatura más formal para ellas, que se muestra en la tabla 2.2. En general, las primitivas se utilizan para realizar alguna acción o para informar de un suceso ocurrido en una entidad par. Tabla 2.2. Tipos básicos de primitivas de servicio Primitiva Request (petición) Indication (indicación) Response (respuesta) Confirm (confirmación) Significado Solicitud para realizar una acción. Notificación de que ha ocurrido un suceso. Solicitud de respuesta a un suceso. Notificación de que ha llegado la respuesta de una acción anterior. 52 REDES DE ÁREA LOCAL RA-MA EJEMPLO 2.5 Queremos establecer una conexión utilizando la notación formal para las primitivas y servicios. Sin tener en cuenta las diferentes capas de la arquitectura de la red, el orden de acciones que se realiza es el siguiente: 1. La estación 1 que desea establecer la conexión realiza una llamada a la primitiva CONNECT.request, lo que produce el envío de un mensaje de control al extremo distante. 2. La estación 2 recibe una notificación CONNECT.indication que le advierte de que existe una entidad de su mismo nivel que quiere establecer una conexión con ésta, ya que ha recibido un mensaje de control. 3. La estación 2 llama a la primitiva CONNECT.response para que se envíe otro mensaje de control como respuesta, aceptando las condiciones para el establecimiento de la comunicación. 4. La estación 1 recibe la respuesta a su solicitud y es advertida por el evento CONNECT.confirm. En ese momento sabrá si se ha aceptado o denegado la solicitud de conexión, examinando el contenido del mensaje de control recibido. Todos estos pasos también se pueden representar gráficamente como muestra la figura 2.11. En este caso, la comunicación se establece sin tener en cuenta los niveles de la arquitectura de la red. Figura 2.11. Gráfica del establecimiento de una conexión mediante primitivas. La evolución en el tiempo es de arriba abajo, y las líneas oblicuas representan el envío de los mensajes generados por las primitivas. Las líneas verticales representan los límites de las estaciones. Es importante recalcar que las primitivas no son enviadas entre las estaciones que se comunican. Los mensajes de control o de datos se envían como consecuencia de una llamada a la primitiva correspondiente. De igual forma, las primitivas tampoco son recibidas, sino que son utilizadas para notificar a la capa que el mensaje ha sido RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 53 recibido y está disponible para su inspección o tratamiento. Por lo tanto, las primitivas de solicitud de envío funcionan como llamadas al sistema, mientras que las primitivas de notificación de llegada informan de que se ha producido un evento. La mayor parte de las primitivas tienen parámetros adicionales, como son la dirección de la estación en el otro extremo, el mensaje que se envía, el tipo de confirmación (positiva o negativa), etc. La tabla 2.3 resume algunos parámetros más importantes que se relacionan normalmente con las primitivas. Tabla 2.3. Principales parámetros de las primitivas Primitiva CONNECT.request CONNECT.indication CONNECT.respone CONNECT.confirm DATA.request DATA.indication DATA.response DATA.confirm DISCONNECT.request DISCONNECT.indication Parámetros - Dirección de la estación destino. - Servicio requerido. - Tamaño máximo del mensaje8. - Dirección de la estación de origen. - Servicio que solicita. - Tamaño máximo del mensaje. - Aceptación de la conexión. - Tamaño máximo del mensaje. - Aceptación de la conexión. - Tamaño máximo del mensaje. - Dirección destino. - Mensaje a enviar. - Tamaño del mensaje. - Número de mensaje (para mantener el orden). - Dirección de origen. - Mensaje recibido. - Tamaño del mensaje. - Número de mensaje (para mantener el orden). - Número de mensaje recibido. - ¿Hay error? - Número del mensaje que llegó. - ¿Hay error? – – Existen algunas reglas básicas a la hora de trabajar con primitivas: El servicio CONNECT siempre es confirmado, por lo que, si aparece, llevará siempre las primitivas request, indication, response y confirm. Esto impide la pérdida accidental de datos, da la opción al otro extremo de poder negar determinadas solicitudes de conexión y permite que ambos interlocutores puedan negociar las condiciones de la comunicación. 8 Al establecer una conexión se puede negociar el tamaño máximo de los mensajes que se envían. Esta característica le permite reservar recursos a las estaciones involucradas. 54 REDES DE ÁREA LOCAL RA-MA El servicio DATA puede ser confirmado o no. Si es no confirmado, sólo llevará las primitivas request e indication. El servicio DISCONNECT suele ser no confirmado, aunque en determinadas condiciones es importante asegurar que los dos extremos finalizan la comunicación y así liberan sus recursos reservados. EJEMPLO 2.6 Se desea enviar un bloque de datos utilizando un servicio orientado a la conexión y fiable. Para ello, hay que indicar cuáles son las primitivas que se ejecutan en cada una de las estaciones que intervienen en la comunicación. La figura 2.12 muestra el orden en el que se realizan las llamadas a las primitivas y el intercambio de información entre los extremos. No se ha tenido en cuenta la división en capas de la arquitectura de red en los dos equipos, y se considera que la transmisión de datos se realiza en una sola capa. En el ejemplo 2.5 aparece un modelo de comunicación en el que se ha tenido en cuenta la división en capas de la arquitectura de red. Figura 2.12. Ejemplo de comunicación mediante primitivas. Este servicio es orientado a la conexión con acuses de recibo. Sólo se envía un bloque de datos desde el emisor al receptor. RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 55 EJEMPLO 2.7 Supongamos que queremos realizar el diagrama de comunicación entre dos estaciones, suponiendo que cada una de ellas tiene una arquitectura de dos capas y se utiliza un servicio no orientado a la conexión para transmitir los datos. Dadas esas condiciones, podemos encontrarnos con varios casos diferentes: • Servicios fiables en la capa 1 y en la capa 2 (figura 2.13). • Servicio fiable en la capa 1 y no fiable en la capa 2 (figura 2.14 y 2.15). • Servicio no fiable en la capa 1 y fiable en la capa 2 (figura 2.16). Figura 2.13. Los servicios de la capa 1 y de la capa 2 son fiables. En estas condiciones, las dos capas de la estación 2 deben enviar confirmaciones y, a su vez, las dos capas de la estación 1 deben recibir respuesta a sus envíos. Figura 2.14. Los servicios de la capa 1 son fiables, pero los de la capa 2, no. En este caso, sólo la capa 1 gestiona el uso de las confirmaciones en los envíos. La capa 2, por su parte, solamente puede enviar o recibir datos. Este modelo de comunicación resulta más óptimo y natural con respecto al resto, ya que las capas inferiores se encargan de controlar los errores, tarea que queda oculta para las capas superiores. 56 REDES DE ÁREA LOCAL RA-MA Figura 2.15. Ejemplo de error en una arquitectura con servicios fiables en la capa 1 y no fiables en la capa 2. Suponiendo que la capa 1 se encarga del control de errores, es ésta la que recibe la confirmación negativa del último envío. Por lo tanto, tiene que volver a enviar el mensaje que previamente debe haber sido almacenado temporalmente. Esto es debido a que el control de errores debe ocultarse totalmente a la capa que tiene por encima y, por esta razón, no puede solicitar al nivel 2 otra copia del mensaje enviado. Así mismo, la capa 2 de la estación 2 no recibe el mensaje ni ninguna confirmación hasta que éste llega correctamente. Figura 2.16. Los servicios de la capa 1 son no fiables y los de la capa 2 son fiables. Se da la circunstancia de que la capa 1 de la estación 2 debe enviar una confirmación, pero no dispone de primitivas DATA.response ni DATA.cofirm. Para solucionar esto, la capa 2 incluye toda la información de control dentro del campo de datos de un mensaje, que se envía con la primitiva DATA.request. Tanto la capa 1 de la estación 2 como la capa 1 de la estación 1 desconocen el significado de la información que están enviando y no saben que se trata en realidad de información de control para confirmar la recepción correcta de un envío. Aunque esta situación no parece que sea muy lógica (resulta más razonable la situación expuesta en la figura 2.15), existen algunas arquitecturas reales cuyos protocolos trabajan de esta forma. Como se explicó en el apartado 2.2 de este capítulo, las capas homónimas de ambos extremos deben utilizar los mismos tipos de servicios, es decir, deben seguir el mismo protocolo. De no ser así, la comunicación nunca podría realizarse correctamente, cuestión que también se pone de manifiesto en estos ejemplos. RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 57 2.3. ARQUITECTURAS COMERCIALES El crecimiento tan rápido sufrido por las redes locales, que hoy en día se han expandido hasta formar la red Internet, ha impedido la consolidación de un estándar global que definiera el punto de partida sobre las especificaciones y protocolos de transmisión de datos. Se han realizado esfuerzos considerables para obtener un estándar común para todas las redes de los diferentes fabricantes (como es el modelo OSI), pero se ha comprobado que esos esfuerzos que se han realizado han llegado demasiado tarde. En los siguientes apartados se verán los modelos más utilizados actualmente para redes de ordenadores. 2.3.1. Modelo de referencia OSI El modelo OSI (Open Systems Interconnection, ‘Interconexión de Sistemas Abiertos’) está basado en una propuesta establecida en el año 1983 por la organización internacional de normas ISO (ISO 7498) como un avance hacia la normalización a nivel mundial de protocolos. El modelo se llama modelo de referencia OSI de la ISO, puesto que se ocupa de la conexión de sistemas abiertos, esto es, sistemas que están preparados para la comunicación con sistemas diferentes. Usualmente lo llamaremos sólo modelo OSI para acortar. OSI emplea una arquitectura en niveles a fin de dividir los problemas de interconexión en partes manejables. Posteriores estándares de ISO definieron las implementaciones en cada nivel para asegurar que se consigue una compatibilidad total entre ellos. Como se vio en el apartado anterior, la aproximación en niveles asegura modularidad y facilita que el software pueda mejorarse sin necesidad de introducir cambios revolucionarios, además de permitir la compatibilidad entre equipos diferentes. Consta de siete niveles, mostrados en la tabla 2.3: Tabla 2.3. Los siete niveles de OSI 7 6 5 4 3 2 1 Aplicación Presentación Sesión Transporte Red Enlace de datos Físico Pero ¿cómo llegó la ISO, partiendo desde cero, a definir una arquitectura a siete niveles de esas características? Los principios teóricos en los que se basaron para la realización de OSI fueron fundamentalmente los expuestos en el apartado 2.2 y algunos más. Podemos resumirlos en los siguientes: 58 REDES DE ÁREA LOCAL RA-MA Cada capa de la arquitectura está pensada para realizar una función bien definida. El número de niveles debe ser suficiente para que no se agrupen funciones distintas, pero no tan grande que haga la arquitectura inmanejable. Debe crearse una nueva capa siempre que se necesite realizar una función bien diferenciada del resto. Las divisiones en las capas deben establecerse de forma que se minimice el flujo de información entre ellas, es decir, que la interfaz sea más sencilla. Permitir que las modificaciones de funciones o protocolos que se realicen en una capa no afecten a los niveles contiguos. Utilizar la experiencia de protocolos anteriores. Las fronteras entre niveles deben situarse donde la experiencia ha demostrado que son convenientes. Cada nivel debe interaccionar únicamente con los niveles contiguos a él (es decir, el superior y el inferior). La función de cada capa se debe elegir pensando en la definición de protocolos estandarizados internacionalmente. OSI está definido más bien como modelo, y no como arquitectura. La razón principal es que la ISO definió solamente la función general que debe realizar cada capa, pero no mencionó en absoluto los servicios y protocolos que se deben usar en cada una de ellas. Esto quiere decir que, al contrario que el resto de arquitecturas de redes, el modelo OSI se definió antes de que se diseñaran los protocolos. Recuérdese la definición de arquitectura que aparece en el apartado 2.1. Las funciones encomendadas a cada una de las capas de OSI son las siguientes: Nivel físico: Tiene que ver con la transmisión de dígitos binarios por un canal de comunicación. Las consideraciones de diseño tienen que ver con el propósito de asegurarse de que, cuando un lado envíe un “1”, se reciba en el otro lado como “1”, no como “0”. Las preguntas típicas aquí son: ¿qué voltaje deberá usarse para representar un 1 y para representar un 0?, ¿cuántos microsegundos dura cada dígito?, ¿en qué frecuencia de radio se va a transmitir?, ¿cuántas puntas tiene el conector de la red y para qué sirve cada una?, etc. Aquí las consideraciones de diseño tienen mucho que ver con las interfaces mecánica, eléctrica y de procedimientos, y con el medio de transmisión físico que está bajo la capa física. RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 59 Nivel de enlace: Su tarea principal es detectar y corregir todos los errores que se produzcan en la línea de comunicación. También se encarga de controlar que un emisor rápido no sature a un receptor lento, ni se pierdan datos innecesariamente. Finalmente, en redes donde existe un único medio compartido por el que circula la información, este nivel se encarga de repartir su utilización entre las estaciones. La unidad mínima de datos que se transfiere entre entidades pares a este nivel se llama trama o marco. Nivel de red: Se ocupa de determinar cuál es la mejor ruta por la cual enviar la información. Esta decisión tiene que ver con el camino más corto, el más rápido, el que tenga menor tráfico, etc. Por todo esto, la capa de red debe controlar también la congestión de la red, intentando repartir la carga lo más equilibrada posible entre las distintas rutas. También a este nivel se realiza gran parte del trabajo de convertir y adaptar los mensajes que circulan entre redes heterogéneas. La unidad mínima de información que se transfiere a este nivel se llama paquete. Nivel de transporte: Es el nivel más bajo que tiene independencia total del tipo de red utilizada, y su función básica es tomar los datos procedentes del nivel de sesión y pasarlos a la capa de red, asegurando que lleguen correctamente al nivel de sesión del otro extremo. A este nivel, la conexión es realmente de extremo a extremo (véase la figura 2.17), ya que no se establece ninguna conversación con los niveles de transporte de todas las máquinas intermedias. Nivel de sesión: A este nivel se establecen sesiones (conexiones) de comunicación entre los dos extremos para el transporte ordinario de datos. A diferencia del nivel de transporte, a este nivel se proporcionan algunos servicios mejorados, como la reanudación de la conversación después de un fallo en la red o una interrupción, etc. Nivel de presentación: A este nivel se controla el significado de la información que se transmite, lo que permite la traducción de los datos entre las estaciones. Por ejemplo, si una estación trabaja con un código concreto y la estación del otro extremo maneja uno diferente, el nivel de presentación es el encargado de realizar esta conversión. Para conversaciones confidenciales, este nivel también codifica y encripta los datos para hacerlos incomprensibles a posibles escuchas ilegales. Nivel de aplicación: Es el nivel que está en contacto directo con los programas o aplicaciones informáticas de las estaciones y contiene los servicios de comunicación más utilizados en las redes. Como ejemplos de servicios a este nivel se puede mencionar la transferencia de archivos, el correo electrónico, etc. Este modelo no es perfecto y, de hecho, algunas cuestiones adolecen de un mal diseño. La más importante, en lo que se refiere a las capas, es que algunas de ellas están prácticamente vacías (es decir, hay muy pocos protocolos definidos dentro de 60 REDES DE ÁREA LOCAL RA-MA éstas y a la vez son bastante triviales), mientras que otras están llenas a rebosar. Por ejemplo, las capas de sesión y presentación no se usan en la mayoría de las aplicaciones, mientras que las capas más inferiores están tan saturadas que en revisiones posteriores se han dividido en múltiples subcapas. Figura 2.17. Modelo de referencia OSI. Este esquema pone de manifiesto la comunicación entre niveles de la arquitectura de dos estaciones (nombradas A y D). Los tres primeros niveles (físico, enlace de datos y red) dependen de la red sobre la que funciona, por lo que pueden existir estaciones intermedias en la conversación9 (nombradas B y C). Los niveles superiores (transporte, sesión, presentación y aplicación) realizan conversaciones extremo a extremo, es decir, solamente se comunican con las capas de la estación del extremo, ya sea emisora o receptora. Otro problema que tiene OSI es que existen algunas funciones que se repiten en muchas de las capas, lo que hace que muchos servicios y programas estén duplicados, a la vez que contribuye a un aumento del tamaño de las cabeceras de control de los bloques de información que se transmiten. 9 Más adelante se explicará que esas estaciones intermedias no suelen actuar como emisores o receptores, sino como intermediarios encargados de encaminar la información. RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 61 La figura 2.18 muestra cómo se transmiten datos entre estaciones utilizando el modelo OSI: un programa en la estación A desea enviar un bloque de datos a otro programa de la estación B; el proceso A realiza una llamada al servicio correspondiente en el nivel de aplicación y le entrega ese bloque de datos; el servicio del nivel de aplicación añade la cabecera EA y le entrega toda esa información a la capa de presentación, mediante la llamada al servicio. Figura 2.18. Transmisión de datos en el modelo OSI. Nótese que el nivel de enlace añade dos encabezados a los datos (al principio y al final). Esto es debido a que la entidad del nivel de enlace debe delimitar los mensajes ya que éstos suelen viajar unos a continuación de los otros por el medio10. Estos mismos pasos se repiten conforme los datos van pasando de una capa a otra hasta llegar al nivel físico. Conforme la entidad de una capa recibe datos, les añade la cabecera correspondiente y los envía al nivel inmediatamente inferior. Es muy importante darse cuenta del hecho de que, cuando una entidad recibe datos de su nivel inmediato superior, no sabe qué parte de ellos es cabecera y qué parte son datos reales enviados por los programas que se desean comunicar. Cuando los datos llegan al nivel físico de la máquina receptora, se produce justamente el proceso contrario al anterior: cada capa recibe los datos, le quita su cabecera correspondiente y los pasa al nivel superior. El nivel de aplicación de la estación A le pasa los datos puros al programa receptor. 10 En el capítulo 4 dedicado al nivel de enlace se verá más en detalle esta característica. 62 REDES DE ÁREA LOCAL RA-MA 2.3.2. Arquitectura TCP/IP TCP/IP se suele confundir muchas veces con un protocolo de comunicaciones concreto, cuando, en realidad, es una compleja arquitectura de red que incluye varios de ellos, apilados por capas. Es, sin lugar a dudas, la más utilizada del mundo, ya que es la base de comunicación de Internet y también se utiliza ampliamente en las distintas versiones del sistema operativo Unix y Linux. En el año 1973, el DoD (Departamento de Defensa de Estados Unidos) inició un programa de investigación para el desarrollo de tecnologías de comunicación de redes de transmisión de datos. El objetivo fundamental era desarrollar una red de comunicación que cumpliera las siguientes características: ⌦Permita interconectar redes diferentes. Esto quiere decir que la red en general puede estar formada por tramos que usan tecnología de transmisión diferente. ⌦Sea tolerante a fallos. El DoD deseaba una red que fuera capaz de soportar ataques terroristas o incluso alguna guerra nuclear sin perderse datos y manteniendo las comunicaciones establecidas. ⌦Permita el uso de aplicaciones diferentes: transferencia de archivos, comunicación en tiempo real, etc. Todos estos objetivos implicaron el diseño de una red con topología irregular donde la información se fragmentaba para seguir rutas diferentes hacia el destinatario. Si alguna de esas rutas fallaba repentinamente, la información podía seguir rutas alternativas. Así, surgieron dos redes distintas: una dedicada a la investigación, ARPANET, y otra de uso exclusivamente militar, MILNET. El DoD permitió a varias universidades que colaboraran en el proyecto, y ARPANET se expandió gracias a la interconexión de esas universidades e instalaciones del Gobierno. Este modelo se nombró después como arquitectura TCP/IP, por las iniciales de sus dos protocolos más importantes. En 1980, TCP/IP se incluyó en Unix 4.2 de Berkeley, y fue el protocolo militar estándar en 1983. En ese mismo año nació la red global Internet, que utiliza también esta arquitectura de comunicación. ARPANET dejó de funcionar oficialmente en 1990. Algunos de los motivos de la popularidad alcanzada por esta arquitectura son: • Es independiente de los fabricantes y las marcas comerciales. • Soporta múltiples tecnologías diferentes entre ellas. • Puede funcionar en máquinas de cualquier tamaño, desde ordenadores personales a grandes supercomputadores. • Se ha convertido en estándar de comunicación en EE.UU. desde 1983. RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 63 Tabla 2.4. Comparación entre el modelo OSI y TCP/IP 7 6 5 4 3 2 1 OSI Aplicación Presentación Sesión Transporte Red Enlace de datos Físico TCP/IP Aplicación Transporte Interred Subred La arquitectura de TCP/IP se construyó diseñando inicialmente los protocolos para, posteriormente, integrarlos por capas en la arquitectura. Por esta razón, a TCP/IP muchas veces se la califica como pila de protocolos. Su modelo por niveles es algo diferente a OSI de ISO, como demuestra la tabla 2.4. Nótese que TCP/IP sólo tiene definida cuatro capas (mientras que OSI tiene siete). Las funciones que realizan cada una de ellas son las siguientes: Capa de subred: El modelo no da mucha información de esta capa, y solamente se especifica que debe existir algún protocolo que conecte la estación con la red. La razón fundamental es que, como TCP/IP se diseñó para su funcionamiento sobre redes diferentes, esta capa depende de la tecnología utilizada y no se especifica de antemano. Capa de interred: Esta capa es la más importante de la arquitectura y su misión consiste en permitir que las estaciones envíen información (paquetes) a la red y los hagan viajar de forma independiente hacia su destino. Durante ese viaje, los paquetes pueden atravesar redes diferentes y llegar desordenados. Esta capa no se responsabiliza de la tarea de ordenar de nuevo los mensajes en el destino. El protocolo más importante de esta capa se llama IP (Internet Protocol o Protocolo de Interred), aunque también existen otros protocolos. Capa de transporte: Ésta cumple la función de establecer una conversación entre el origen y el destino, de igual forma que hace la capa de transporte en el modelo OSI. Puesto que las capas inferiores no se responsabilizan del control de errores ni de la ordenación de los mensajes, ésta debe realizar todo ese trabajo. Aquí también se han definido varios protocolos, entre los que destacan TCP (Transmission Control Protocol o Protocolo de Control de la Transmisión), orientado a la conexión y fiable, y UDP (User Datagram Protocol o Protocolo de Datagrama de Usuario), no orientado a la conexión y no fiable. 64 REDES DE ÁREA LOCAL RA-MA Capa de aplicación: Esta capa contiene, al igual que la capa de aplicación de OSI, todos los protocolos de alto nivel que utilizan los programas para comunicarse. Aquí se encuentra el protocolo de terminal virtual (TELNET), el de transferencia de archivos (FTP), el protocolo HTTP que usan los navegadores para recuperar páginas en la World Wide Web, etc. Las capas de sesión y presentación no existen en la arquitectura TCP/IP, ya que los diseñadores pensaron que no se necesitaban. La experiencia obtenida con los trabajos realizados en el modelo OSI ha comprobado que esta visión fue correcta: se utilizan muy poco en la mayoría de las aplicaciones de comunicación. En caso de que alguna aplicación desee utilizar un servicio de encriptación de datos o recuperación ante caídas, será necesario incluirlos dentro del propio programa de aplicación. Figura 2.19. Protocolos de la arquitectura TCP/IP. Aquí aparecen algunos de los más importantes del modelo. Nótese que en el nivel de subred están definidos los protocolos de comunicación de algunas redes comerciales, como RTC (estándar de la red telefónica conmutada), redes de área local (IEEE 802), etc. El modelo TCP/IP original no distinguía los conceptos de capa, servicio, interfaz y protocolo, aunque revisiones posteriores han incluido parte de esta nomenclatura. Por esta razón, el modelo OSI es más flexible a los cambios, ya que la interacción y encapsulación entre capas es más estricta. Otro problema que tiene TCP/IP es que en sus capas inferiores no se distingue entre nivel físico y nivel de enlace, funciones que resultan completamente diferentes. Como resultado, se incluye una sola capa de subred en la que coexiste una amalgama de protocolos y estándares de redes que poco se comprende. 2.3.3. SNA de IBM La arquitectura SNA (Systems Network Architecture o Arquitectura de Sistemas de Red) fue desarrollada en los años setenta por IBM con el propósito de definir los protocolos de comunicaciones de una red formada por un gran computador central al que accedían los usuarios a través de unos terminales. Esos terminales tenían una capacidad de proceso muy limitada, y toda la potencia de cálculo y la gestión de recursos estaba centralizada en el gran ordenador central. RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 65 SNA está definida por siete capas, al igual que OSI, y se muestran comparadas en la figura 2.20. Las diferencias que aparecen entre estas dos arquitecturas son debidas fundamentalmente a los entornos en los que funcionan: OSI es un modelo orientado a comunicar sistemas de características muy dispares mientras que SNA trabaja sobre una red muy concreta. Las funciones principales definidas en las capas de SNA son las siguientes: Físico: Define las características físicas de la red, como el cableado, los conectores, las señales, etc. Control de Enlace de Datos: Controla la comunicación entre los equipos, además del acceso al medio. Control de Ruta: Incluye los algoritmos para establecer las mejores rutas de envío de datos, además de la segmentación y reensamblado de los mensajes (que se envían como fragmentos más pequeños). Control de Transmisión: Establece los métodos de control de errores y cifrado de la información. Control de Flujo de Datos: Controla el flujo de datos para impedir desbordamientos y pérdidas. Servicios de Presentación: Al igual que OSI, se utiliza para convertir a los diferentes formatos de codificación de la información. Servicios de Transacción: Define las aplicaciones de comunicación y administración de la red. Figura 2.20. Arquitectura de red SNA y comparación con el modelo OSI 66 REDES DE ÁREA LOCAL RA-MA En posteriores revisiones de la arquitectura SNA se ha incluido compatibilidad con otros estándares de comunicaciones, aunque la estructura básica de la red sobre la que funciona ha seguido siendo la misma. La figura 2.21 muestra una estructura típica de red SNA. Figura 2.21. Ejemplo de topología simplificada de red SNA. Todas las estaciones de trabajo están conectadas al computador central de gran capacidad a través de un procesador de comunicaciones. 2.3.4. Novell NetWare La arquitectura de red Novell es parecida a SNA ya que es propietaria de una marca comercial y no puede ser utilizada por el resto de la comunidad de usuarios sin permiso. Está diseñada con el propósito de conectar un conjunto de estaciones PC y proveerles de todos los servicios de red que necesiten. Puede funcionar bajo cualquier estándar de LAN, aunque es necesario que en la red exista al menos un equipo que provea de servicios al resto de las estaciones y que lleve instalado el sistema operativo NetWare (también propietario). Éstas, a su vez, pueden funcionar con un sistema operativo más ligero11, que es el que realiza las peticiones al servidor (o servidores). Aunque una red Novell está pensada como entorno LAN, sus sucesivas versiones han dado soporte WAN, ofrecido por su propia pila de protocolos o accediendo a los servicios de TCP/IP (incluido también en la red). Por esta razón, una red Novell se puede comunicar con otras estaciones TCP/IP. Para la arquitectura Novell existen tres tipos de máquinas en una red: Servidores de ficheros: Son los responsables de proveer todos los servicios a las estaciones de trabajo que los solicitan, además de controlar todas las operaciones de comunicación de la red. 11 Se considera a DOS, Windows, OS/2, MacOS, etc., como sistemas operativos “ligeros” o de estaciones aisladas, aunque muchos de ellos también tienen soporte de red. RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 67 Estaciones de trabajo: Realizan solicitudes a los servidores para ejecutar tareas de usuario. Encaminadores: Son los dispositivos encargados de comunicar las redes con diferentes WAN y a través de ellos entra y sale la información del exterior de la LAN. Muchas veces son los propios servidores de ficheros los que realizan esta función adicional. Novell usa una arquitectura de protocolos patentada que se ilustra en la figura 2.22 y que nació con anterioridad al modelo OSI. Se parece más a TCP/IP que al resto de arquitecturas, fundamentalmente porque el protocolo de red IPX12 (Internetwork Packet Exchange o Intercambio de Paquetes Interred) es el más importante de todos ellos y es similar a IP con algunas modificaciones (también es un protocolo no orientado a la conexión y no fiable). Además, no se diferencia el nivel de enlace del nivel físico, y en esta capa más baja se encuentran todos los estándares de LAN. Figura 2.22. Pila de protocolos de la arquitectura Novell. Aquí aparece la comparación con el modelo OSI. A veces también se le llama arquitectura IPX/SPX. Se han incluido los protocolos de NetBIOS ya que esta arquitectura también da soporte a los servicios de las redes Microsoft (véase el apartado 2.4). Por su parte, el protocolo SAP (Service Advertising Protocol o Protocolo de publicidad del Servicio’) es utilizado por los servidores para difundir por la red información acerca de los servicios que ofrecen (no confundir con el concepto de SAP o punto de acceso al servicio). Las estaciones de trabajo utilizan esta información para enviar sus peticiones. Estas peticiones son como anuncios publicitarios en la red: “Soy el servidor Lucecita y tengo disponibles el disco duro y la impresora láser para que la 12 El protocolo IPX es una adaptación del protocolo IDP del Xerox Network System (XNSMR). 68 REDES DE ÁREA LOCAL RA-MA utilicéis”. Estas notificaciones se efectúan cada vez que un servidor comienza a funcionar, y también cuando quedan fuera de servicio, para indicar que ya no están disponibles. Como se desprende de la figura 2.22, las estaciones se pueden comunicar por la red utilizando dos tipos diferentes de servicios: los servicios NetBIOS y los servicios propios de Novell. El protocolo NetBIOS (Network Basic Input/Output System) ofrece servicios a nivel de transporte y sesión y se ha convertido en un estándar desde que fue introducido en 1984 por IBM. Por su parte, el protocolo NCP (Network Core Protocol o Protocolo Central de la Red) es el que le permite a las estaciones comunicarse con los servidores para acceder a los servicios de la red (recuperar o enviar un archivo, acceder a una impresora, etc.). 2.3.5. ATM (Asynchronous Transfer Mode) La red ATM (Asynchronous Transfer Mode o Modo de Transferencia Asíncrono) fue definida por la ITU (International Telecommunications Union) y utilizan su propio modelo de referencia, muy diferente de OSI y TCP/IP. Este modelo se muestra en la figura 2.23 y consiste básicamente en tres capas: la capa física, la capa ATM y la capa de adaptación de ATM. Figura 2.23. Modelo de referencia de ATM. Nótese que existen tres capas, algunas de ellas divididas en subcapas. Ninguna coincide exactamente con las capas OSI y, de hecho, no existe consenso a la hora de ajustar los niveles. Las capas superiores son ampliaciones que pueden hacer los usuarios “a la carta”, es decir, añadiendo los protocolos que necesiten. Así mismo, existen planos definidos en una tercera dimensión que acceden directamente a las capas de la arquitectura, con funciones de supervisión y control. Figura obtenida de [RDC97]. RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 69 Es difícil comprender en profundidad como funciona la arquitectura ATM, fundamentalmente porque es muy diferente al modelo OSI o a TCP/IP y las comparaciones pueden dar lugar a confusión. En primer lugar, se trata de una arquitectura en tres dimensiones (las que hemos visto hasta ahora solamente tienen dos). En segundo lugar, algunas capas utilizan el mismo bloque de información para transmitir, sin añadir ninguna cabecera de control adicional (el modelo OSI se caracteriza fundamentalmente por la inclusión de información de control en todas sus capas). Y en tercer lugar, en ATM se permite cierto grado de “visibilidad” entre capas para permitir un intercambio de información más eficiente y rápido (en el modelo OSI la implementación de una capa debe ocultarse a las demás). La red ATM se basa en la transmisión de bloques de información de tamaño fijo llamados celdas o células. Al contrario que otras arquitecturas, estas celdas son la unidad de información que manejan todos los niveles, sin que se encapsulen en bloques con cabeceras adicionales. Esta característica permite que el flujo de la información a través de las capas sea más rápido, aun a costa de que el control de errores sea de peor calidad y la ocultación de los detalles entre capas no sea tan estricta como en OSI. Si se ha optado por este diseño, ha sido fundamentalmente porque ATM está pensada para transmisión a alta velocidad suponiendo que la red sobre la que funciona tiene una tasa de error muy baja. ATM: Veamos ahora cuál es la función de cada una de las capas de la arquitectura Capa física: Está relacionada directamente con la red y el medio de transmisión. Al igual que la capa de subred de TCP/IP, ATM no establece un conjunto de reglas en particular, sino que solamente dice que la información a este nivel puede transmitirse utilizando el protocolo de comunicación de la red sobre la que funcione. Normalmente será una red de alta velocidad como FDDI13, aunque también podría ser otra cualquiera, como una LAN o la RTC. Capa ATM: Es responsable del transporte de las celdas por la red y del establecimiento y liberación de las conexiones. Además, también se encarga del control de la congestión. A esta capa se le considera normalmente una capa de red, porque decide la ruta que van a seguir las celdas. Capa de adaptación ATM: Es la encargada de dividir toda la información que se va a transmitir en celdas y reensamblarla en el otro extremo. Hay que tener en cuenta que no es aconsejable que las aplicaciones trabajen directamente con celdas (y así conseguir ocultar los detalles de diseño de la red). 13 En el capítulo 3 se explicará con detalle la red FDDI. 70 REDES DE ÁREA LOCAL RA-MA Como muestra la figura 2.23, ATM es una arquitectura en tres dimensiones, donde además de las capas comunes al resto de arquitecturas, existen los planos que se definen en la tercera dimensión. Estos planos son necesarios principalmente para coordinar la actividad entre las capas, teniendo en cuenta que en esta arquitectura se le da más importancia a la velocidad y la optimización que a un diseño estricto (como OSI). El plano de usuario se encarga de realizar todas las tareas a nivel de usuario (transporte de los datos, el control de flujo, la corrección de errores, etc.). El plano de control se encarga de administrar la conexión. Los planos de gestión realizan la función principal de administrar los recursos y coordinar las capas. Figura 2.24. Flujo de información entre capas de ATM. La capa de adaptación ATM toma el bloque de información y lo divide en fragmentos, a cada uno de los cuales se le puede añadir o no un encabezado (dependiendo del protocolo). Estos bloques son de tamaño fijo y, a su vez, son enviados a la capa ATM que es la que construye las células añadiendo una cabecera, también de longitud fija. Actualmente todavía no se ha establecido consenso cuando se compara el modelo ATM con OSI. Existen autores que consideran a la capa ATM como una capa de enlace de datos, mientras que otros creen que es una capa de red. Así mismo, tampoco se ha definido si la capa de adaptación ATM es una capa de transporte o también se encuentra a nivel de enlace. En este libro consideraremos que la capa ATM es una capa de red y que la capa de adaptación ATM es de transporte (con algunos matices) por razones que se expondrán en los capítulos correspondientes, cuando se hable más a fondo de ellas. ATM se ha diseñado fundamentalmente con el objetivo de integrar en una sola red todos los servicios que actualmente demandan los usuarios: voz, datos, vídeo bajo demanda, etc. Para que esto sea posible, ATM debe ser capaz de transmitir la información a alta velocidad, desechando el uso de protocolos lentos y permitiendo saltar algunas restricciones que imponen los modelos por capas. Esta nueva forma de transmisión de datos es difícil de comprender por los que están acostumbrados a las redes telefónicas tradicionales y su implantación mundial todavía necesita de varios años e, incluso, décadas. RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 71 2.3.6. Red Microsoft La arquitectura de red patentada por Microsoft está diseñada con el objetivo de permitir la coexistencia e integración con otras arquitecturas de red como TCP/IP o Novell. Por esta razón, en el modelo de redes Microsoft se pueden añadir los distintos protocolos existentes para que realicen el transporte de la información. La figura 2.25 muestra el esquema simplificado del modelo de redes Microsoft. Figura 2.25. Modelo en capas de la red Microsoft. En el esquema se establece la comparación entre éste y el modelo OSI. El protocolo NetBIOS (Network Basic Input/Output System o Sistema Básico de Entrada/Salida de Red) fue diseñado por IBM ante la falta de un estándar de alto nivel en redes de área local. Posteriormente ha sido adoptado en las redes Microsoft para el trabajo con estaciones Windows. Su identificación se hace a través de un nombre de PC, y el envío de la información de administración y recursos compartidos se realiza por difusión. SMB (Server Message Block o Bloque de Mensajes del Servidor) es un protocolo a nivel de aplicación usado en redes Microsoft que permite convertir las peticiones del estilo “crear archivo”, “copiar archivo”, etc., en llamadas a servicios del protocolo NetBIOS. El protocolo NetBEUI (NetBIOS Extended User Interface) es una extensión del protocolo NetBIOS que trabaja a nivel de red y nivel de transporte en redes que utilizan estaciones de trabajo con sistema operativo Windows 3.x, Windows 9x/ME y Windows NT/2000/XP. Este protocolo es bastante sencillo y está optimizado para su funcionamiento en LAN, ya que no puede utilizarse para la comunicación con una red de área extensa. 72 REDES DE ÁREA LOCAL RA-MA El protocolo NetBIOS puede funcionar sobre NetBEUI, TCP/IP o SPX (en una red Novell), dependiendo de los que se encuentren instalados y de la configuración seleccionada por el usuario. Lo normal es que NetBIOS funcione sobre TCP/IP (a esta pila se le llama NetBT), ya que el protocolo NetBEUI ha dejado de utilizarse en las versiones más recientes de Windows. En caso de que la estación tenga acceso a Internet, será necesario usar forzosamente TCP/IP bajo NetBIOS, o utilizar algún dispositivo adaptador de protocolos (pasarela). También puede resultar útil en determinadas circunstancias el funcionamiento de NetBIOS sobre IPX/SPX, mecanismo denominado NWLink. 2.4. ARQUITECTURAS DE REDES Y SISTEMAS OPERATIVOS Cuando se desea conectar un ordenador aislado a una red de comunicación, es necesario instalar en éste todos los elementos necesarios, que normalmente constará de un adaptador de red (véase el capítulo 3, apartado 3.7), un controlador de dispositivo (o driver) y los programas que forman la pila de protocolos o arquitectura (los de niveles inferiores se incluyen en el propio adaptador de red instalado). Cuando un programa de usuario (por ejemplo, un navegador, un cliente de correo electrónico, etc.) desea comunicarse vía red con otro programa remoto, normalmente debe realizar la llamada correspondiente al sistema operativo14. Será el propio sistema operativo el que llamará a su vez a los servicios de nivel de aplicación de la arquitectura instalada para completar la operación. Por su parte, el controlador de dispositivo del adaptador de red lo utilizará el sistema operativo y la arquitectura para el acceso y transferencia de información con ese dispositivo. La figura 2.26 muestra estas interacciones de forma gráfica. Los usuarios acceden, a través de sus programas, a dos tipos de recursos: Recursos locales: Son aquellos dispositivos que se encuentran conectados directamente al ordenador desde donde trabaja el usuario. Recursos remotos: Se trata de dispositivos compartidos para su uso que se encuentran conectados en otros ordenadores, y que solamente son accesibles a través de la red de comunicación. En un mismo ordenador pueden coexistir diferentes arquitecturas de comunicaciones y diferentes adaptadores de red y, de hecho, se trata de una situación muy normal en redes reales. En esas condiciones, el sistema operativo debe decidir qué arquitectura debe utilizar en un momento dado, dependiendo del tipo de conexión establecida o los servicios solicitados por la aplicación y el usuario. Además, también deben existir protocolos dentro de las propias arquitecturas que permitan un flujo de información entre capas o adaptadores de red sin interferencias, entre los que podemos destacar NDIS y ODI (éstos se verán en el capítulo 4, apartado 4.7.3). 14 La definición de sistema operativo aparece en el capítulo 7. RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 73 Figura 2.26. Relación existente entre programa de aplicación, sistema operativo y arquitectura de red. Aunque determinados sistemas operativos permiten que los programas accedan directamente a los controladores de los dispositivos físicos o de red, suele ser el sistema operativo el encargado de distinguir entre llamadas para acceso a recursos locales y remotos. EJEMPLO 2.8 El sistema operativo Windows 95/98 es un ejemplo de estación cliente que permite el manejo sin conflictos de diferentes arquitecturas de comunicaciones. Para instalar o consultar la lista de dispositivos de red, protocolos y servicios instalados en un ordenador con Windows 95/98, hay que seleccionar la opción “Inicio || Configuración || Panel de control || Red”, o bien, si existe, pulsar con el botón derecho del ratón sobre el icono “Entorno de red” del escritorio y seleccionar “Propiedades”. Aparecerá una lista donde se distinguen: Adaptadores de red. Son los dispositivos necesarios para conectar el ordenador a la red. Se verán más a fondo en el capítulo 3, apartado 3.7. Protocolos o arquitecturas. Son los programas de comunicación de la red. Se encuentran definidos en la capa de transporte de la arquitectura de la red Microsoft. Clientes de red. Son los programas encargados de solicitar el acceso a los recursos compartidos de la red. Dependen de los protocolos utilizados. 74 REDES DE ÁREA LOCAL RA-MA En Windows 95/98, el acceso a la red se controla mediante la opción “Inicio de sesión principal” de las propiedades de red. Aquí el usuario puede seleccionar si va a conectarse con la red de Microsoft, la red de Novell, etc. Según Microsoft, a la conexión y acceso a una red se le llama sesión. 2.5. NORMAS ESTANDARIZADAS Hasta ahora, en este capítulo se ha planteado el problema de la comunicación de una forma global, es decir, planteando cuáles son los aspectos a tratar y la interacción entre ellos. Se ha visto que la mejor solución consiste en dividir las tareas por capas para así dividir la complejidad y permitir mayor flexibilidad frente a los cambios. En este apartado se expondrá de una forma general algunos servicios y protocolos que por su uso y popularidad se han convertido en estándares en la industria de las redes. No se incluyen aquéllos que ya se han mencionado dentro de las arquitecturas de redes ya vistas, aunque se verán con más detalle en capítulos posteriores. Introduciremos aquí una breve referencia a los protocolos ARCnet, IEEE 802, X.25, RDSI, ADSL y Frame Relay. 2.5.1. ARCnet La red ARCnet (Attached Resource Computer Net) fue desarrollada por la empresa Datapoint Corporation y durante algunos años ha sido un estándar popular en redes de área local. Esta red establece los protocolos a nivel físico y nivel MAC, aunque no se ha especificado una arquitectura por niveles formal. ARCnet define el cableado, la velocidad de transmisión, la topología, los elementos de interconexión, etc. También permite cierta flexibilidad a la hora de instalar el cableado, y se pueden elaborar diferentes topologías, como son bus, estrella y árbol, solamente modificando la interconexión del cableado y sus elementos adicionales. 2.5.2. IEEE 802 El estándar IEEE 802 es posterior a ARCnet y fue elaborado en 1990 por la organización IEEE (Institute of Electrical and Electronics Engineers o Instituto de Ingenieros Eléctricos y Electrónicos) para la comunicación en redes locales. Dentro de este estándar se han definido varios tipos de redes locales en lo que se refiere al tipo de cableado utilizado, velocidad de transmisión, formato de los bloques de información enviados, reparto del medio, etc. Estos aspectos están definidos a nivel físico y a nivel de enlace, por lo que IEEE 802 sólo cubre los protocolos de estas dos capas. RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 75 Figura 2.27. Capas inferiores según el estándar IEEE 802. En la normalización de redes locales debe intervenir también la capa MAC que es la encargada de gestionar el uso del medio, que debe ser compartido por todas las estaciones de la LAN. IEEE 802 está dividido en varias especificaciones diferentes. Por un lado está IEEE 802.1, que define la interfaz con los niveles superiores (normalmente, con el nivel de red). En IEEE 802.2 se encuentra normalizada la parte superior del nivel de enlace (llamado LLC o Control del Enlace Lógico). El resto de especificaciones, que van desde la IEEE 802.3 a la IEEE 802.12, tiene que ver con la parte inferior del nivel de enlace (llamada MAC o Subcapa de Acceso al Medio) y la capa física. Cada una de ellas establece un tipo de LAN diferente, que resultan incompatibles entre sí. IEEE 802.5 es el estándar más parecido a ARCnet, aunque no son compatibles. La figura 2.27 muestra cómo se han definido los niveles inferiores según IEEE 802. 2.5.3. X.25 X.25 fue desarrollado en 1970 por el CCITT (hoy ITU-T) y define un conjunto de protocolos para la comunicación en redes de área extensa. Estos protocolos están a tres niveles: nivel físico, nivel de enlace y nivel de red, como se muestra en la tabla 2.5. Tabla 2.5. Niveles de la red X.25 Red Enlace de datos Físico (X.21) Los protocolos de X.25 están incluidos dentro de la arquitectura OSI y resultan bastante fiables en su funcionamiento debido a que todos ellos realizan control de errores. Sin embargo, esta táctica hace que la transmisión sea lenta y que en las capas se envíe mucha información de control redundante. Por esta última razón, en un futuro próximo se prevé sea sustituido por Frame Relay. 76 REDES DE ÁREA LOCAL RA-MA Para que otros dispositivos no compatibles con X.25 puedan conectarse a esta red se han definido varios protocolos de comunicación adicionales. Por ejemplo, el protocolo X.28 y el protocolo X.32 están definidos para interconectar X.25 con la red telefónica conmutada. Para que este tipo de adaptación sea posible, es necesario utilizar un dispositivo especial denominado PAD (Packet Assembler Disassembler o Ensamblador y Desensamblador de Paquetes), definido en la norma X.3. En España, la red de conmutación de paquetes X.25 se llama Iberpac. Para conectar esta red con las redes X.25 de otros países, hay que seguir la recomendación X.75. Aunque Iberpac se está empezado a sustituir por redes más modernas, todavía se sigue utilizando hoy en día. 2.5.4. RDSI El estándar RDSI15 (Red Digital de Servicios Integrados) surgió en 1984 como una solución a las necesidades de comunicación modernas. La idea de RDSI consiste en ofrecer todo tipo de servicios: transmisión de voz, transmisión de datos, transmisión de imagen y sonido en tiempo real, etc. La red RDSI dispone de su propio cableado, se utiliza como red de área extensa y no puede funcionar sobre las redes telefónicas estándar (RTC). Además, esta red dispone de servicios a velocidades y capacidades diferentes, dependiendo del contrato que realice el usuario. La arquitectura de RDSI define todos los protocolos de la red a nivel físico, enlace de datos y red y, si un usuario cambia su instalación de RTC a RDSI, necesitará de unos adaptadores especiales para que su teléfono, fax, etc., funcionen. Así mismo, también se ofrecen terminales especiales para su uso en RDSI. Cuando un usuario desea conectar su ordenador a la RDSI, debe instalar en éste un adaptador específico. Algunos de estos adaptadores incorporan incluso un módem analógico que garantiza la compatibilidad con el sistema telefónico antiguo. La configuración del adaptador RDSI necesita de los siguientes elementos: Controlador de dispositivo (driver) del adaptador. Protocolo V110, a nivel físico de RDSI. Protocolo HDLC, a nivel de enlace de datos; véase el capítulo 4, apartado 4.7.1. Protocolo X.75, a nivel de red y similar a X.25. 15 A RDSI también se le conoce por las siglas derivadas del inglés: ISDN (Integrated Services Digital Network). RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 77 Librería CAPI (Common IDSN API o API Común de RDSI), una librería estándar para que las aplicaciones puedan acceder a la red. 2.5.5. ADSL La red ADSL (Asymetric Digital Subscriber Line o Línea Asimétrica Digital de Suscriptor) está basada en la idea de utilizar la red telefónica básica (RTC) para transmitir información a alta velocidad. Puesto que hoy en día la mayoría de la población dispone en sus casas de una toma telefónica de dos hilos, se plantea utilizar toda esa red sin necesidad de instalar otra nueva. El problema que se plantea consiste en utilizar una red telefónica de baja calidad para transmitir datos a alta velocidad. La solución de ADSL consiste en utilizar circuitos integrados ASP (Advanced Signal Processor o Procesador de Señales Avanzado) para eliminar electrónicamente todas las interferencias producidas en la comunicación. ADSL debe verse como una solución de compromiso, que se instala en los hogares de forma rápida, más que una solución a largo plazo. Hoy en día ya se ha implantando por muchas compañías de comunicaciones, y la mayoría de los usuarios la utilizan como acceso rápido a Internet. 2.5.6. Frame Relay Las redes Frame Relay (Retransmisión de Trama) son redes empleadas para transmitir información a una velocidad razonable con un coste bajo. Ésta implementa un conjunto de protocolos de comunicaciones para redes de área extensa. El estándar de Frame Relay surgió como respuesta a la necesidad de determinados usuarios y empresas que solicitaban una red de transmisión de datos con una capacidad y velocidad de transmisión superiores a X.25. La velocidad de Frame Relay es superior a X.25 porque el protocolo no realiza detección ni corrección de errores en los nodos intermedios; este control es responsabilidad solamente de los dos extremos que se comunican. Esta red funciona sobre líneas telefónicas rápidas donde la tasa de error es baja. 2.6. EJERCICIOS 2.1. Consideremos el ejemplo de las estaciones que se comunican en las islas mediante ondas de radio. Supongamos ahora que se decide tirar varios kilómetros de cable submarino para comunicar las estaciones. En este caso, serán necesarios servicios adicionales en las capas para que el usuario pueda mandar mensajes por el cable, pudiendo así mismo utilizar las antenas tradicionales. ¿Qué servicios son necesarios añadir? ¿En qué capas? 78 REDES DE ÁREA LOCAL RA-MA 2.2. Indica cuáles son las primitivas que se envían dos estaciones que establecen una comunicación (A y B). Se enviarán dos mensajes, uno de los cuales llega con error al destinatario. Se supone que se utiliza un servicio no orientado a la conexión y fiable. 2.3. Indica cuáles son las primitivas que se envían dos estaciones que establecen una comunicación (A y B). Se enviarán dos mensajes, uno de los cuales llega con error al destinatario. Dentro de cada primitiva se deberán indicar los siguientes parámetros: Direcciones del emisor y receptor. Mensaje transmitido. Tipo de confirmación (bien, mal). Hay que tener en cuenta que se utilizan estos dos tipos de servicios: a) Servicio orientado a la conexión y fiable. b) Servicio no orientado a la conexión y no fiable. 2.4. Indica cuáles son las primitivas que se envían dos estaciones que establecen una comunicación (A y B). Se enviarán dos mensajes, uno de los cuales llega con error al destinatario. Las estaciones utilizan una arquitectura a dos niveles con las siguientes características: La capa 1 sólo se dedica a enviar la información utilizando un servicio no fiable. La capa 2 utiliza un servicio fiable y se dedica al control de errores. 2.5. Indica cuáles son las primitivas que se envían dos estaciones que establecen una comunicación (A y B). Se enviarán dos mensajes, uno de los cuales llega con error al destinatario. Las estaciones utilizan una arquitectura a dos niveles con las siguientes características: La capa 1 utiliza un servicio fiable y se dedica al control de errores. La capa 2 utiliza un servicio no fiable. Dentro de cada primitiva se deberán indicar los siguientes parámetros: • Direcciones del emisor y receptor. • Mensaje transmitido. • Tipo de confirmación (bien, mal). 2.6. Explica las relaciones que existen entre los siguientes conceptos: servicio, protocolo, primitiva e interfaz. 2.7. Para transferir un archivo completo entre dos ordenadores, existen dos métodos si se emplea un servicio fiable: RA-MA CAPÍTULO 2: ARQUITECTURAS DE REDES 79 Dividir el archivo en fragmentos y enviar confirmaciones de cada uno de ellos. Enviar el archivo completo y recibir una sola confirmación. Comenta las ventajas e inconvenientes de los dos enfoques. 2.8. Para cada uno de los siguientes servicios, indica a qué capa pertenece dentro de las pilas de protocolos OSI, TCP/IP, Novell y ATM: a) Control de la congestión. b) Generación de señales eléctricas a partir de información binaria. c) Cantidad de datos en un envío. d) Medidas a tomar en caso de error. e) Control de flujo (desbordamiento del receptor). f) Direccionamiento a nivel de estaciones (ordenadores). g) Encriptación de la información. h) Petición de saldos de un cliente bancario. i) Direccionamiento a nivel de programas que se comunican. j) Detección de errores en los dígitos transmitidos. k) Encaminamiento de la información por la red. l) Recuperación en caso de fallo de la red. m) Formato de los mensajes enviados. n) División de los mensajes para su envío en trozos. o) Selección del siguiente nodo a enviar la información. p) Especificación de las patillas del conector del cable de red. q) Envío de información de confirmación (con acuse de recibo) al emisor. r) Establecimiento y liberación de la conexión. s) Solicitud de reenvío de la información en caso de error. t) Solicitud de envío de un archivo de imagen .jpg. u) Traducción del código ASCII al unicode. v) Envío de un comando para su ejecución en el servidor remoto. 2.9. Clasifica las normas introducidas en el apartado 2.5 en el nivel de la arquitectura OSI que corresponda. 2.10. Imagina que trabajas en una empresa de mensajería privada. Explica cómo se envían los paquetes y las cartas utilizando un modelo por capas, en el que cada una de ellas realiza una función diferenciada. 2.7. BIBLIOGRAFÍA Libros en castellano: [ATM00] Redes ATM: Principios de interconexión y su aplicación L. Guijarro Ra-Ma, 2000 80 REDES DE ÁREA LOCAL [RAL97] Redes de área local Greg Nunemacher Paraninfo, 1997 [RDC97] Redes de computadoras Andrew S. Tanenbaum Prentice-Hall, 1997, 3.ª ed. [RED01] Redes Locales José Luis Raya y Cristina Raya Ra-Ma, 2001 Páginas de Internet: [CYBENET] Apuntes y trabajos de temas de informática en general Varios autores http://www.cybercursos.net/ [IEEORG] Estándares IEEE 802 Varios autores (en inglés) http://standards.ieee.org/getieee802/portfolio.htm [NOVCOM] Documentación productos Novell Varios autores (en inglés) http://www.novell.com/documentation-index/ [PROCOM] Documentación variada sobre protocolos e interfaces de red Varios autores (en inglés) http://www.protocols.com/protoc.shtml RA-MA CAPÍTULO 3 ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS El objetivo de este capítulo es dar una visión de los elementos materiales necesarios para el montaje de una red de comunicaciones. Así mismo, se estudiarán todas las técnicas de transmisión que se usan, los fundamentos físicos en las que se basan y los problemas que aparecen. El nivel físico de una arquitectura es quizá la parte más importante de la red. La razón fundamental es que la mayoría de los protocolos de las capas superiores dependen de sus características físicas (velocidad, tasa de error, medio compartido o no, etc.). Por ejemplo, si la transmisión ofrece una tasa de error muy baja, el protocolo de control de errores a niveles superiores puede ser muy simple. En caso de que el medio soporte una capacidad de transmisión elevada, entonces el sistema de comunicaciones podrá ofrecer servicios como transmisión de vídeo y datos a alta velocidad. Figura 3.0. Dibujo de una tarjeta de red PCI 82 REDES DE ÁREA LOCAL RA-MA 3.1. INTRODUCCIÓN Todas las arquitecturas de redes por niveles (OSI, TCP/IP, ATM, Novell, AppleTalk, etc.) distinguen un nivel físico que es el encargado de realizar el transporte de la información a través del medio físico de transmisión. Esta tarea fundamental se debe llevar a cabo teniendo en cuenta dos condiciones básicas: Si se envía un “1” utilizando la variación de alguna propiedad física del medio, al receptor le deberá llegar exactamente esa misma variación de la propiedad para que pueda interpretarlo como un “1” y no como un “0”. Cuando el emisor envía una sucesión de dígitos binarios, se debe garantizar que se reciban en el mismo orden en el otro extremo. Para poder realizar este transporte, los protocolos del nivel físico deben tener en cuenta muchas cuestiones de fondo. Podemos exponer las más importantes: ¿de qué manera se envían los dígitos binarios por el medio?; ¿qué ocurre si el medio sólo permite la transmisión en un sentido?; ¿cómo se corrigen las distorsiones y perturbaciones que sufre la señal en su camino?; ¿es posible que por el mismo medio circulen varias transmisiones a la vez?; ¿cómo se distingue al resto de estaciones cuando todas ellas están conectadas al mismo medio? 3.2. TIPOS DE TRANSMISIÓN Para que la información pueda transmitirse por un determinado medio (el aire, cables de cobre, etc.), es necesario convertir de alguna forma esos ceros y unos para que puedan viajar hasta el receptor y éste pueda interpretarlos correctamente. Dentro de la carcasa de un ordenador, los dígitos binarios se transmiten de unos dispositivos a otros (y en el interior de ellos) como señales eléctricas convenientemente codificadas. Como se mencionó en el capítulo 1, a cada dígito binario se le puede asociar un nivel de tensión o voltaje diferente, y lo normal es asignar un valor de +5 voltios para representar un “1” y 0 voltios para representar un “0”. Esto es equivalente a decir que los circuitos de un ordenador interpretan un “1” cuando por la conexión correspondiente reciben corriente eléctrica (cuya tensión se aproxima a los +5 voltios), mientras que interpretan un “0” cuando no hay corriente. Éste es el principio fundamental de la electrónica digital. El funcionamiento de los circuitos digitales es análogo al de una bombilla corriente: cuando se enciende, podemos tomarlo como un “1” y cuando está apagada, como un “0”. Solamente se encenderá la bombilla cuando circule corriente eléctrica a través de ella (y su voltaje sea adecuado). Cuando se transmite información binaria utilizando corriente eléctrica se necesitan al menos dos hilos diferentes: por uno de ellos circula la señal y el otro es la masa del circuito. Es necesario que exista esta masa para que el circuito se cierre y pueda circular corriente por él; además, se toma como voltaje de referencia (0 voltios). RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 83 La figura 3.1 muestra un ejemplo de codificación de dígitos binarios usando niveles de tensión en corriente eléctrica. Si se utilizan dos hilos (uno para la señal y el otro es masa), los dígitos deben transmitirse por el cable uno a continuación del otro. Es necesario que exista un tiempo para que se transmitan, puesto que la señal no puede viajar más deprisa que la luz. Figura 3.1. Niveles de tensión en la transmisión de información binaria. Como se puede observar, la señal eléctrica solamente puede tomar dos valores diferentes en un instante determinado: 0V o 5V. Normalmente suele considerarse que la transmisión de las señales por los cables suele ser perfecta, y la información se muestra como la figura 3.1. Sin embargo, en la realidad no ocurre así, debido fundamentalmente a la tecnología utilizada para fabricar los componentes. La figura 3.2 muestra una simulación de cómo podría transmitirse realmente esa señal, suponiendo que no existan interferencias. Esto implica que los circuitos digitales deben asignar rangos en vez de niveles de tensión exactos para poder interpretar correctamente la información. Por ejemplo, se considera un “1” a cualquier nivel de tensión comprendido entre 4V y 6V, mientras que se toma como “0” si está entre –1V y +1V. Figura 3.2. Trasmisión real de las señales. Se puede comprobar que los niveles de tensión no coinciden exactamente con los valores establecidos y que las transiciones entre niveles no se producen bruscamente. 84 REDES DE ÁREA LOCAL RA-MA En el caso de que no se utilice el cableado de cobre como medio de transmisión para la red, será necesario utilizar otros métodos de codificación de la información. Esta cuestión será tratada en el apartado dedicado a los medios de transmisión. EJEMPLO 3.1 Supongamos que deseamos transmitir el número 334 por un único cable de cobre (dos hilos) utilizando la codificación anterior. Este número, representado en binario natural, es el (101001110)2. Podríamos utilizar los valores de voltaje 5 voltios para el “1” y 0 voltios para el “0”. Además, podríamos pensar que en esa transmisión los dígitos se enviarían en orden del dígito menos significativo al más significativo dejando transcurrir un segundo entre cada uno de ellos. La gráfica que representa esa comunicación con respecto al tiempo se muestra en la figura 3.3. Figura 3.3. Gráfica que representa el voltaje cuando se transmite el número 334 en binario. Los dígitos van apareciendo de izquierda a derecha, tomando un segundo por cada tres puntos consecutivos. Los tipos de transmisión de información que veremos ahora tienen que ver con algunos de los factores que se han tenido en cuenta en el ejemplo 3.1. En ese caso, podemos comprobar que no sólo se tiene en cuenta los niveles de tensión usados para representar los dígitos binarios, sino también el orden y la longitud de sus intervalos. En general, se debe tener en cuenta: ⌦ Señales empleadas para representar la información. ⌦ Intervalos de tiempo en los que el receptor toma la información recibida. ⌦ Sentido de la transmisión. ⌦ Número de cables empleados para realizar la comunicación. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 85 3.2.1. Transmisión síncrona y asíncrona Uno de los problemas que se plantean en la comunicación de dos estaciones es la sincronización. Cuando el emisor envía una serie de pulsos que representan los dígitos binarios, éstos pueden llegar al receptor con una amplitud diferente de la que se enviaron. En esas condiciones, el receptor no sabe cuántos “1” se han querido representar en un pulso de +5V de una anchura determinada. No ocurriría esto si el emisor enviara secuencias alternas de “0” y “1”, de la forma “10101010”. La figura 3.4 muestra este problema. Figura 3.4. Problema de sincronización entre emisor y receptor. Cuando el receptor recibe esta señal, no sabe con exactitud cuántos “1” seguidos se han codificado en ese pulso ancho. Tampoco sabe con certeza cuántos “0” consecutivos tiene que interpretar. Otro problema adicional relacionado con la sincronización se produce cuando el receptor necesita que el emisor le indique de alguna forma que le está enviando datos. Si el emisor envía “0000”, el receptor no sabrá si el emisor no ha enviado nada o está enviando varios ceros (ya que el voltaje del cable permanece a 0V). Cada vez que se envía información, es necesario indicar al receptor, mediante alguna señal, que la información está disponible para su lectura. Además, también hay que decirle dónde finaliza el mensaje enviado, para que no tenga que seguir captando información innecesaria. Existen dos técnicas principales para sicronizar la comunicación entre emisor y receptor: transmisión síncrona y transmisón asíncrona. La transmisión síncrona (ejemplo 3.2) consiste en utilizar una señal periódica que indica los instantes en los que está accesible cada dígito. No utiliza señales de inicio y fin y, por lo tanto, resulta alrededor de un 20% más rápida que la asíncrona. Normalmente, el emisor envía al receptor la señal de sincronización junto con la señal de datos (en cables diferentes, por el mismo cable o incluso en la misma señal). EJEMPLO 3.2. Un ejemplo sencillo de transmisión síncrona está representado en la figura 3.5. El emisor envía, junto con la señal de datos, una señal que permite sincronizar al receptor. Este último podría utilizar los momentos en los que la señal de reloj pasa de nivel bajo a nivel alto (llamados flancos de subida) para leer los datos correctamente. 86 REDES DE ÁREA LOCAL RA-MA Figura 3.5. Ejemplo de transmisión síncrona. El receptor utiliza los flancos de subida de la señal de reloj para leer la información (marcados con flechas). En este caso, la señal de datos y la de sincronismo van separadas, pero más adelante se verá que pueden ir juntas en una sola (para utilizar un solo cable e impedir los desfases entre las señales). En la práctica, se suele utilizar los flancos de subida, flancos de bajada o puntos medios de los intervalos para establecer el momento en el que se debe leer el valor de la señal eléctrica. EJEMPLO 3.3 Supongamos que queremos transmitir la secuencia “011100” de forma asíncrona. Podemos utilizar 0V para el “0”, +3V para el “1” y +6V para indicar el principio y el final de cada dígito. La figura 3.6 muestra la gráfica de transmisión. Figura 3.6. Ejemplo de transmisión asíncrona. Los intervalos en los que la señal toma un valor de 6V se utilizan como “marcas” para separar cada uno de los dígitos transmitidos. Cuando el receptor lee un “1” o un “0”, no lee otro dígito hasta después de haber recibido la marca para el siguiente. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 87 Figura 3.7. Ejemplo de transmisión asíncrona recogida por el receptor. Aunque varíe la longitud de los pulsos de la señal enviada, el receptor siempre la va a interpretar de la misma forma (se han especificado los puntos medios de los intervalos que marcan el inicio y el fin de los bits). Por otro lado, la transmisión asíncrona consiste en la utilización de una señal especial que se sitúa al principio de cada dígito binario para indicar su comienzo, además de otra señal situada al final para indicar su finalización. Puesto que no se conoce cuándo llegará cada dígito, es necesario marcar cada uno de ellos para la transmisión. Este tipo de comunicación es más sencillo y se utiliza para comunicaciones de baja velocidad (véase el ejemplo 3.3). 3.2.2. Transmisión digital y analógica Las señales analógicas se caracterizan por representar funciones continuas en el tiempo y pueden tomar cualquier valor de voltaje dentro de un rango que permita el medio de transmisión. La figura 3.8 muestra un ejemplo de señal analógica, que podría representar la grabación de la voz humana o la señal modulada y distorsionada emitida por un módem a través de la red telefónica o cualquier otra red analógica. Figura 3.8. Ejemplo de señal analógica. Nótese que esa transmisión toma infinitos valores dentro del rango [0V, 5V]. 88 REDES DE ÁREA LOCAL RA-MA Las señales digitales se caracterizan por representar funciones discretas en el tiempo, y solamente pueden tomar varios valores dentro de un rango. La señal más común es la binaria, la cual sólo puede tomar dos valores, aunque en transmisión de datos por cableado de red también son comunes las señales digitales con tres o cuatro valores diferentes. Este tipo de transmisión es mucho más rápido y fiable que la analógica, pero necesita de un medio de transmisión de mayor calidad. Es posible la comunicación de datos digitales mediante señales analógicas (se verá en apartados posteriores), aunque es necesario realizar adaptaciones. El caso más común se encuentra en la transmisión de datos a través de la red telefónica analógica (RTC). 3.2.3. Transmisión en serie y en paralelo Una transmisión en serie consiste en la utilización de un único cable por el cual circula toda la información a transmitir, además de información de control, en forma de una sucesión de datos digitales o analógicos. Por su parte, la transmisión en paralelo consiste en utilizar varias líneas de comunicación, lo que permite que la información en forma de datos y control pueda circular a la vez de forma independiente. La ventaja principal de la transmisión en serie consiste en la reducción de costes al realizar la instalación del cableado, ya que éste es más barato y, cuanto mayor sea la distancia que separa a los equipos, mayor será el ahorro conseguido (en los casos en los que la distancia sea muy grande, el coste de utilizar cables paralelos se hace prohibitivo). Como desventajas a la transmisión serie se encuentra, fundamentalmente, la limitación en la velocidad, debido a la utilización de un único canal por el que deben circular los datos además de la información de control. Además, es necesario utilizar algún tipo de señal que indique el tipo de datos enviados, su formato, etc., lo que conlleva una mayor carga en la transmisión. Un inconveniente importante de la transmisión de datos sobre un cable paralelo, sobre todo si es de una longitud considerable, reside en el hecho de que las señales que viajan a través de los diferentes hilos pueden sufrir un desfase importante (no llegan al destinatario todas a la vez), lo que requiere de dispositivos de control para garantizar la validez de la información cuando se lee en el extremo distante. 3.2.4. Transmisión símplex y dúplex La transmisión de datos utilizando un medio concreto puede realizarse en dos sentidos, de un extremo al otro. Dependiendo de esta característica, existen tres tipos de transmisión: RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 89 • Símplex: La transmisión tiene lugar en un solo sentido y, si se desea transmitir en sentido contrario, será necesario poner otro cable. • Semidúplex: La transmisión puede tener lugar en ambos sentidos, pero no simultáneamente. Hay que utilizar señales de control para informar si el medio está ocupado o se puede transmitir. • Dúplex integral: La transmisión puede tener lugar en ambos sentidos al mismo tiempo siempre sobre el mismo cable. Un medio de transmisión formado por varios cables, la mitad de ellos utilizados para transmitir en un sentido y el resto en el otro, se considera símplex (cada uno de ellos por separado). Para que la comunicación se considere semidúplex o dúplex integral, es necesario que se realice en los dos sentidos sobre el mismo cable, o que se considere el grupo de cables completo. Figura 3.9. Ejemplo de comunicación símplex. La comunicación se asemeja a la circulación de un tren por sus vías. En este caso, aunque en su conjunto dos vías permiten el recorrido en los dos sentidos, cada vía se comporta como un canal símplex, si es que no se permite la circulación en ambos sentidos. Si no es así, se consideran canales semidúplex. Figura 3.10. Ejemplo de comunicación semidúplex. Pueden existir tramos de vía donde sólo existe un carril y, en este caso, pueden circular trenes por él en ambos sentidos, pero evidentemente nunca al mismo tiempo. 90 REDES DE ÁREA LOCAL RA-MA 3.2.5. Multiplexación La multiplexación es el método que consiste en compartir un mismo medio de transmisión entre varias comunicaciones. Esta característica supone una mayor economía para las compañías telefónicas, puesto que cuesta prácticamente lo mismo instalar un cable de gran capacidad que uno de menor capacidad. La razón fundamental es que, para distancias relativamente cortas, el gasto principal se encuentra en la excavación de las zanjas y montaje de los conductos y no en el tipo de alambre utilizado. Otra razón por la que se utiliza a menudo la multiplexación es que la mayoría de las comunicaciones no utilizan completamente toda la capacidad del medio. En otros casos como, por ejemplo, las comunicaciones telefónicas, los usuarios hablan esporádicamente y resulta absurdo interconectarlos todos con todos mediante cables dedicados. Figura 3.11. Ejemplo de multiplexación. El caso de dos vías de tren que llevan el mismo sentido de la comunicación y convergen en una sola es análogo a la multiplexación por división de tiempo. A cada tren se le asigna un turno y un tiempo para que atraviese esa vía compartida. Una vez que la han cruzado, deberán volver a la misma vía por la que circulaban inicialmente. Existen diferentes técnicas de multiplexación, aunque todas ellas se engloban en dos tipos fundamentales: Multiplexación por división de tiempo: Se asigna a cada estación un turno de transmisión rotativo, de forma que, durante un periodo de tiempo, transmite una estación; luego, la siguiente; etc. En este caso, cada estación utiliza el canal alternativamente, no de forma simultánea, aunque se tenga la percepción de que las transmisiones se realizan al mismo tiempo. Multiplexación por división de frecuencia o longitud de onda: Esta técnica emplea determinadas características de la señal y el medio por el que se transmite. Si se utilizan señales eléctricas u ondas electromagnéticas, a cada comunicación se le asigna una frecuencia diferente (de forma RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 91 que éstas no se mezclan ni se interfieren16). Si se utiliza la luz como señal de transmisión, a cada comunicación se le puede asignar una longitud de onda distinta. En el apartado 3.3 se verá con más detalle los parámetros que definen una señal, como es su valor de frecuencia. Figura 3.12. Multiplexación por división de longitud de onda. Se utilizan prismas que permiten “unir” y, posteriormente, “separar” las señales. Los prismas dan a cada una de esas señales una longitud de onda diferente, por lo que pueden viajar juntas sin interferirse. 3.3. CARACTERÍSTICAS DE LAS SEÑALES Una señal cualquiera viene definida por tres características: su amplitud, que es el valor máximo de la señal en un intervalo; su frecuencia, que determina el intervalo de tiempo en que la señal se repite y su fase, que indica el intervalo de tiempo que va desde el instante inicial al primer punto donde la señal toma el valor 0. Estos parámetros se muestran representados esquemáticamente en la figura 3.13. Figura 3.13. Parámetros fundamentales que definen una señal eléctrica. Nos centraremos en señales periódicas, es decir, que se repiten cada cierto tiempo. Como se puede observar, se puede tomar un valor distinto de fase (ya que la señal toma el valor 0 en varios puntos), pero esto no supone ninguna alteración, ya que la señal sigue siendo la misma. A la hora de tratar teóricamente señales, ocurre frecuentemente que éstas tienen expresiones matemáticas muy complejas y, a veces, intratables. Estos casos pueden ser resueltos satisfactoriamente usando el análisis de Fourier. 16 La división en diferentes frecuencias para transmitir señales por el mismo medio al mismo tiempo necesita de unos intervalos de frecuencia reservados, también llamados bandas de seguridad, que se intercalan entre las bandas de transmisión para impedir que esas señales se puedan mezclar (produciendo así diafonía, véase el apartado 3.5). 92 REDES DE ÁREA LOCAL RA-MA A principios del siglo XIX, el matemático francés Jean-Baptiste Fourier demostró que, sumando una cantidad (posiblemente infinita) de funciones seno y coseno, se puede construir cualquier función periódica de comportamiento razonable. A tal descomposición se le llama serie de Fourier. Por lo tanto, cualquier señal que transmita datos de duración finita se puede construir sumando las correspondientes componentes senoidales (denominadas armónicos). Esto sugiere que se pueden generar formas de onda complicadas por medio de la selección cuidadosa de contribuciones de diferentes frecuencias, amplitudes y fases de señales senoidales. La figura 3.14 muestra una onda cuadrada y algunos armónicos que la componen. Si se unen (suman) esos armónicos, se obtiene una señal parecida a la onda digital. Si se siguieran sumando más componentes, conseguiríamos que se pareciera cada vez más. Cada uno de los armónicos de esa señal tiene un valor distinto de amplitud, frecuencia y fase, y éstos dependen de la señal original que deben representar. Al primer armónico de la señal se le llama armónico fundamental y normalmente es el que tiene una amplitud mayor pero una frecuencia más pequeña, del mismo orden de magnitud que la señal original (o incluso iguales). El teorema de Fourier dice así: “Cualquier función periódica se puede expresar mediante la suma de una función fundamental y diferentes términos armónicos”. Aplicado a señales eléctricas, nos dice que una señal binaria está compuesta por infinitos términos armónicos o funciones senoidales. Cuanto más términos se “añadan” a señal, más se parecerá a la onda cuadrada original. En transmisiones reales, las señales no tienen por qué representarse con esos infinitos armónicos y bastarán unos cuantos de ellos para que se parezca lo suficiente a la onda cuadrada. Los armónicos que menos “contribuyen” en la formación de la señal original son aquéllos que poseen una frecuencia mayor y una menor amplitud. El ejemplo 3.4 muestra una representación gráfica real de una onda cuadrada representada por diferente cantidad de armónicos. Más adelante se verá que, dependiendo de su forma, se necesitará un mayor o menor número de armónicos para interpretarla correctamente. Del análisis matemático de Fourier se pueden obtener todos los armónicos que componen una señal. Sin embargo, su exposición exhaustiva excede los objetivos de este libro. Además de los valores de amplitud, frecuencia y fase de una señal, existen otros parámetros que la definen matemáticamente. El más importante de ellos es el ancho de banda, que es el rango de frecuencias que componen una señal. Como dice el teorema de Fourier, una señal está compuesta por diferentes armónicos, cada uno de los cuales tiene una frecuencia diferente. Esos rangos de frecuencias son los que forman precisamente el ancho de banda. Por ejemplo, si observamos la figura 3.15, la señal representada con un armónico tiene un menor ancho de banda que la señal representada con dos armónicos. A su vez, la señal representada con tres armónicos tiene un mayor ancho de banda que la de cuatro, y así sucesivamente. La onda cuadrada situada en la parte superior es la que mayor ancho de banda tiene. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 93 Figura 3.14. Descomposición de una onda cuadrada en varios armónicos. La onda cuadrada de la parte superior representa la señal original. La señal que aparece en la parte inferior es la suma de los tres primeros armónicos. Por su parte, las tres señales senoidales de la parte central representan los tres primeros armónicos. Si se suman suficientes componentes, se obtiene la onda que es muy parecida a la señal original de la parte superior. La señal situada justo debajo de la onda cuadrada original es el primer armónico, es decir, la función fundamental o armónico fundamental. Obsérvese también que los primeros armónicos de la señal son los que tienen una menor frecuencia y una mayor amplitud, mientras que el resto de armónicos tienen una mayor frecuencia y una menor amplitud. Esto quiere decir que los primeros armónicos tienen “más importancia” en la representación de la señal original. 94 REDES DE ÁREA LOCAL RA-MA EJEMPLO 3.4 Deseamos transmitir la secuencia 01100010 codificada en binario natural de ocho dígitos. La figura 3.15 muestra la onda cuadrada que representa esa comunicación y las correspondientes señales formadas por un número creciente de armónicos. Figura 3.15. Ejemplo de señal representada con varios armónicos. La señal superior es la onda cuadrada original. El resto de representaciones son señales formadas por un número creciente de armónicos. Los interrogantes situados al lado de algunos dígitos binarios indican que éstos no pueden ser interpretados correctamente por el receptor, ya que los niveles de tensión en esos puntos no son los correctos. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 95 Otra conclusión que se desprende de la propiedad de Fourier es que, cuanto más estrechos sean los pulsos de una señal digital (véase la figura 3.16), mayor ancho de banda tendrá, es decir, más componentes senoidales serán necesarias para representar fielmente esos pulsos. Esta característica es muy importante y, como se verá posteriormente, un medio de transmisión está limitado por su propio ancho de banda máximo. Este parámetro determina el número de armónicos de una señal que es capaz de trasmitir, de forma que los que poseen una mayor frecuencia nunca llegarán al otro extremo del medio. Figura 3.16. Ejemplo de señal digital. Este tipo de señales tiene un ancho de banda superior a las que se han visto anteriormente, debido a que hay más transiciones entre niveles y éstas son de menor duración, con lo que será necesario utilizar más armónicos para poder interpretarla correctamente. 3.4. MÉTODOS DE TRANSMISIÓN A la hora de transmitir una señal por un medio de transmisión, se presentan dos alternativas: transmitirla tal y como es o alterar alguna de sus características. Para distancias cortas (algunos metros o menos), medios de transmisión de gran capacidad o velocidades de transmisión bajas, se suele transmitir los dígitos binarios como niveles de tensión (como se vio anteriormente). Sin embargo, si las distancias son largas, el medio no es de calidad o se requieren velocidades altas, es preciso adaptar la señal a enviar para que cumpla una serie de condiciones. Todo medio de transmisión está limitado por un ancho de banda máximo. Esto quiere decir que, cuando circula una señal por él, es posible que existan determinados armónicos de ella que no pueden ser transportados por el medio (los que tienen una frecuencia mayor). Esos armónicos se pierden y la señal que llega al destinatario puede haberse modificado considerablemente. Por ejemplo, utilizando como medio de transmisión la red telefónica conmutada, la tabla 3.1 compara las velocidades de transmisión (expresadas en dígitos binarios transmitidos por segundo o bps) con el número de armónicos que forman esa señal y el número de éstos que pueden circular por el cable. Hay que tener en cuenta que el hilo telefónico está limitado a una frecuencia de corte cercana a los 3.000 Hz. De estos números queda claro que intentar transmitir 9.600 bps por la línea RTC transformará la señal en una curva prácticamente senoidal, imposibilitando la RA-MA 96 REDES DE ÁREA LOCAL recepción del mensaje original. En otras palabras, limitar el ancho de banda reduce la velocidad de envío de datos; sin embargo, existen mecanismos avanzados capaces de codificar la información de forma que se logren tasas de envío mayores. La tabla 3.1 nos enseña que, cuanto mayor es la velocidad de transmisión, más estrechos son los pulsos en las señales digitales y tienen un mayor ancho de banda. Esto implica que, si se aumenta la velocidad de transmisión, llega un momento en que la señal que circula por el medio no tiene suficientes armónicos como para ser interpretada correctamente. Por todo ello, cuando se transmite una señal digital, no se suele hacer directamente, sino que es preferible modificarla de alguna forma con el fin de: • Disminuir el ancho de banda de la señal. • Permitir que el emisor y el receptor mantengan el sincronismo. Tabla 3.1: Transmisión digital en la red telefónica. Tomado de [RDC97] bps 300 600 1.200 2.400 4.800 9.600 19.200 38.400 Frecuencia del primer armónico (Hz) 37,5 75 150 300 600 1.200 2.400 4.800 Armónicos que llegan al receptor 80 40 20 10 5 2 1 0 La señal resultante debe cumplir esas dos condiciones, pero, además, se supone que la información que transporta debe ser la misma. Para que el emisor y el receptor mantengan el sincronismo sin utilizar ninguna señal adicional, lo ideal es que se codifique, en cada pulso, un solo dígito; mantener la señal en un nivel durante mucho tiempo hace que el receptor pierda la sincronización. Seguidamente veremos algunas técnicas para alcanzar estos propósitos. 3.4.1. Transmisión digital La transmisión digital, también llamada transmisión en banda base, consiste en utilizar una señal que solamente puede tomar unos pocos valores de tensión dentro de un rango. Este tipo de transmisión es más rápido, pero necesita de un medio que permita un mayor ancho de banda (mayor coste). Existen muchos métodos de codificación en banda base. Seguidamente veremos algunos de los más utilizados. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 97 Códigos NRZ (no retorno a cero): Se caracterizan por representar a cada dígito por un único nivel físico. La figura 3.17 muestra los códigos NRZ: Figura 3.17. Códigos NRZ. En NRZ neutral y NRZ polar se asigna, a cada dígito, un nivel de tensión diferente. En NRZ bipolar se asigna 0V para el “1” y un voltaje alterno para el “0”. Esta codificación se utiliza en los estándares Ethernet 100Base-T (véase el apartado 3.8). Códigos NRZ-M: Se caracterizan por representar a cada dígito por un cambio de nivel físico. La figura 3.18 muestra los códigos NRZ-M. Figura 3.18. Códigos NRZ-M. El “0” se codifica manteniendo el nivel de la señal y el “1”, cambiando el nivel. El código NRZ-M neutral tiene una amplitud entre 0 y un valor A, mientras que NRZ-M polar está entre +A y –A. Códigos RZ (retorno a cero): Se caracterizan por utilizar pulsos cuya amplitud es igual a la mitad del intervalo. Aquí existe un mejor sincronismo, pero el ancho de banda del medio debe ser doble. La figura 3.19 muestra los códigos RZ. 98 REDES DE ÁREA LOCAL RA-MA Figura 3.19. Códigos RZ. El código RZ neutral codifica el “0” como un nivel alto y una transición, mientras que el “1” es un nivel bajo sin transición. RZ polar es igual pero con mayor amplitud, mientras que RZ bipolar utiliza niveles alternativos para codificar el “0”. Códigos Bifase: Se caracterizan por representar cada dígito mediante una o más transiciones, lo que aumenta el sincronismo a la vez que el ancho de banda. La figura 3.20 muestra los códigos bifase. Figura 3.20. Códigos Bifase. En Bifase-L se codifica el “0” como un flanco de bajada, mientras que el “1” es un flanco de subida. Bifase-M codifica un “0” como una transición en mitad del intervalo, mientras que el “1” no produce transición (al contrario que Bifase-S). Códigos Miller: Se caracterizan porque un “1” produce una transición en el punto medio del intervalo y un “0” no produce una transición a no ser que vaya seguido de otro “0”, en cuyo caso se produce una transición entre ambos ceros al final del primer intervalo unitario (véase la figura 3.21). RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 99 Figura 3.21: Códigos Miller. Las transiciones se realizan con una amplitud comprendida entre los valores +A y -A. Como se puede observar, este código facilita el mantenimiento del sincronismo entre el emisor y el receptor. 3.4.2. Transmisión analógica (modulación) Cuando aparecieron las primeras redes de ordenadores, no existía infraestructura para interconectar esas LAN con otras cuando las distancias eran considerables (o incluso de un edificio a otro dentro de la misma ciudad). Las necesidades de comunicación de las grandes empresas, con sucursales en todo el mundo, hicieron recurrir inmediatamente a la utilización de la red telefónica convencional para transmitir información digital, aunque ésta trabaja con señales analógicas cuya frecuencia está comprendida en el rango de 300 Hz a 3,4 kHz (en principio insuficiente para transmitir una señal digital). Frecuentemente también ocurre que se desea transmitir una señal cuyo ancho de banda no coincide con el permitido por el medio de transmisión. Por ejemplo, en un sistema de radio, la señal banda base generada en el micrófono del locutor está comprendida entre 10 Hz y 10 kHz, mientras que el medio de comunicación trabaja con frecuencias del orden de 100 kHz. Otras veces ocurre que el ruido del sistema se acopla mejor a unas determinadas frecuencias y, por lo tanto, interesa transmitir la señal con otras frecuencias distintas. En todas estas situaciones se utiliza la modulación. Figura 3.22. Esquema simplificado de un modulador. A partir de una señal moduladora (información) y una portadora (con las características deseadas), se obtiene una señal modulada (que posee la misma información que la moduladora pero con las características de la portadora). Se dice que una señal llamada portadora está modulada por otra llamada moduladora cuando esta última controla algún parámetro de la primera. Se podrá actuar tanto sobre la amplitud, frecuencia o fase de la señal (normalmente sobre una 100 REDES DE ÁREA LOCAL RA-MA sola característica, aunque existen métodos de modulación que actúan sobre más de una a la vez). Al dispositivo que realiza esta conversión se le llama módem (MOdulador-DEModulador) y se representa esquemáticamente en la figura 3.22. Existen varios tipos de modulación, dependiendo de si la señal que lleva la información es analógica o digital y de si la portadora es a su vez analógica o digital. Seguidamente se verán estos casos: Modulación analógica con portadora analógica: Se utiliza cuando se desea transmitir la señal analógica a una frecuencia diferente o con un ancho de banda menor. La figura 3.23 muestra un ejemplo gráfico de esta modulación. La modulación se puede realizar utilizando cambios de amplitud, frecuencia o fase de la señal portadora. Figura 3.23. Tipos de modulación analógica con portadora analógica. La señal modulada siempre tendrá un ancho de banda menor17. Modulación digital con portadora analógica: Se utiliza cuando se desea transmitir la señal digital por un medio de transmisión analógico. Es la modulación más común y la pueden utilizar los usuarios para el acceso a Internet a través de la red telefónica conmutada. La figura 3.24 muestra un ejemplo gráfico de esta modulación. 17 Ésta es la condición básica que utiliza la transmisión con modulación. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 101 Figura 3.24. Modulación digital con portadora analógica. En la modulación en amplitud se puede utilizar cualquier valor de amplitud para representar un “0” y un “1” (no deben ser iguales). En la modulación en frecuencia se ha utilizado un valor superior para representar un “1”, pero se puede utilizar cualquiera para los bits (siempre que sean distintos). Por su parte, en la modulación en fase se puede utilizar un desplazamiento cualquiera, a condición de que no sea igual al periodo (en cuyo caso no hay desplazamiento de fase por cada cambio de dígito); en este caso se ha utilizado un desplazamiento igual a la distancia entre dos puntos (ha sido marcado en la parte inferior de la figura con la letra “d”). Modulación analógica con portadora digital: Se utiliza cuando se desea transmitir la señal analógica a través de una red digital (por ejemplo, transmisión de voz a través de telefonía móvil digital). En este caso, lo más probable es que la señal moduladora tenga una frecuencia y un ancho de banda inferior a la señal modulada, con lo que se produce un desaprovechamiento del medio de transmisión. La figura 3.25 muestra un ejemplo gráfico de este tipo de modulación. La técnica de modulación digital con portadora digital no existe como tal, aunque se podría considerar que es un caso especial de la transmisión en banda base (véase el apartado anterior). 102 REDES DE ÁREA LOCAL RA-MA Figura 3.25. Modulación analógica con portadora digital. La modulación en duración asigna anchuras diferentes a los pulsos digitales, dependiendo del valor de la señal analógica en ese punto. Por su parte, la modulación por pulsos en posición realiza un desplazamiento de los pulsos. Las técnicas expuestas en este apartado se siguen utilizando hoy en día en la transmisión de datos a través de líneas digitales o analógicas. Sin embargo, con el propósito de permitir una mayor velocidad de transmisión sin tener que aumentar el ancho de banda del medio, se han realizado algunas modificaciones en esas técnicas de codificación y modulación. Uno de los métodos más utilizados es la modulación multibit, que consiste en utilizar varios de esos métodos simultáneamente, lo que permite insertar más de un dígito binario en un mismo intervalo de tiempo. Por ejemplo, se pueden utilizar dos valores distintos de amplitud (A1 y A2) y de frecuencia (F1 y F2), lo que permitiría diferenciar cuatro estados distintos por intervalo de tiempo (A1F1, A1F2, A2F1 y A2F2), es decir, dos dígitos en cada intervalo. Incluso es posible utilizar más de dos valores diferentes en la amplitud, frecuencia o fase de la señal. Uno de los métodos basados en la modulación multibit es la modulación QAM (Quadrature Amplitude Modulation o Modulación de Amplitud en Cuadratura). Ésta consiste en modular la señal realizando cambios de amplitud y fase, y permite codificar cuatro dígitos en cada intervalo de tiempo. Para conseguirlo, utiliza 12 valores de cambio de fase diferentes, de los cuales existen cuatro que utilizan además dos valores de amplitud distintos (lo que establece, por lo tanto, 8 + 4 · 2 = 16 combina-ciones diferentes). RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 103 3.5. RUIDO Y CAPACIDAD DE TRANSMISIÓN DE UN CANAL La transmisión de una señal supone su paso a través de un determinado medio, por ejemplo, un cable, el aire, etc. Debido a diferentes fenómenos físicos, la señal que llega al receptor difiere de la emitida por el transmisor. Vamos a estudiar en este apartado una serie de efectos que contribuyen a modificar la señal que se transmite. Además, se expondrá de una forma completa todas las condiciones que afectan a la capacidad máxima de un determinado medio. 3.5.1. Problemas en la transmisión Si la suma de todos los efectos producidos durante el viaje de una señal por su medio no crea una gran diferencia entre la señal enviada y la recibida, conseguiremos una transmisión libre de errores. Por el contrario, cuando la señal recibida difiera en exceso de la señal transmitida, el receptor puede interpretar incorrectamente la información y decimos entonces que se produce un error de transmisión. Evidentemente, no todas las señales sufren los mismos efectos al atravesar los distintos medios; luego, cuando sea posible, se seleccionará cuidadosamente el tipo de señal y medio que conduzca a las mejores condiciones de comunicación. Veamos ahora algunos de estos problemas de la transmisión. Uno de los problemas de transmisión más importantes, sobre todo a largas distancias, es la atenuación. Ésta consiste en el debilitamiento o pérdida de amplitud de la señal recibida frente a la transmitida. Por ejemplo, sabemos que cualquier sonido se percibe con menor intensidad cuanto más alejados nos encontramos de la fuente que lo origina. La atenuación tiene un efecto proporcional a la longitud del cable: a partir de una determinada distancia, la señal recibida es tan débil que no se puede reconocer mensaje alguno. La figura 3.26 muestra gráficamente el efecto de la atenuación de una señal. Figura 3.26. Efecto de la atenuación. Como se puede observar, este fenómeno no modifica ni la frecuencia ni la fase de la señal, solamente reduce progresivamente su amplitud. Para paliar el efecto de la atenuación, se pueden incorporar en el camino de la señal unos dispositivos activos, cuya función es amplificar la señal en la misma medida en que acaba de ser atenuada por el medio, con lo que así se consigue 104 REDES DE ÁREA LOCAL RA-MA recuperar la señal para que pueda alcanzar más distancia. Estos dispositivos tienen nombres diferentes: se utilizan repetidores que son capaces de restaurar la señal digital original (amplificándola y eliminando el ruido añadido) y para señales analógicas se utilizan así mismo los amplificadores. Estos dispositivos se verán más a fondo en el apartado 3.7. La atenuación no sólo es función de la distancia, sino también de la frecuencia, por lo que no afecta por igual a todos los armónicos que representan la señal. Los de mayores frecuencias sufren una mayor atenuación. A este fenómeno se le conoce como distorsión de atenuación y produce, en las señales con diferentes componentes frecuenciales, una atenuación distinta para cada armónico, lo que origina que la señal recibida tenga una forma diferente de la transmitida, amén de una menor amplitud. Como la señal recibida se ha deformado con respecto a la transmitida, decimos que se ha distorsionado. La figura 3.27 muestra un ejemplo gráfico de este efecto: Figura 3.27. Efecto de la distorsión de atenuación en una señal. La señal de la izquierda es la que envía el emisor; las otras dos son el resultado de haber sido afectadas por la distorsión de atenuación. Muchos de los armónicos han sido tan atenuados que, prácticamente, han desaparecido. Otro fenómeno muy común en comunicaciones es la diafonía. Consiste en la interferencia mutua que se producen dos canales de cobre que se encuentran juntos. Cada una de esas señales genera interferencias en el otro cable y hace que parte de la señal se “introduzca” y se sume con la otra, a causa de la inducción electromagnética. En una conversación telefónica, esto se observa como una segunda conversación que se oye de fondo mezclada con la nuestra. Este fenómeno también se produce cuando las señales circulan por un medio compartido y sus frecuencias en multiplexación están muy próximas entre sí. Otra fuente de problemas en la transmisión es el denominado ruido impulsivo. Consiste en pulsos irregulares de corta duración y, relativamente, de gran amplitud, que son provocados por inducciones, como consecuencia de conmutaciones electromagnéticas. Este tipo de ruido se produce por causas variadas que suelen ser externas al medio de transmisión. Podemos compararlo a las interferencias en un receptor de radio cuando se aproxima una motocicleta, o también al encendido de determinados aparatos en un domicilio (como puede ser una lavadora o un frigorífico, que conectan y desconectan sus motores continuamente). RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 105 Existen infinidad de dispositivos cuyo encendido o apagado genera un impulso de radiofrecuencia capaz de influir a canales de comunicación próximos. El ruido impulsivo es típicamente aleatorio, es decir, se produce de manera inesperada y no suele ser repetitivo. La figura 3.28 muestra una señal digital a la que se le ha añadido pequeños pulsos de ruido; en algunos casos, si esos pulsos tienen valores de tensión elevados, pueden hacer que el receptor interprete la señal incorrectamente. Figura 3.28. Ejemplo de ruido impulsivo añadido a la señal. En la parte izquierda aparece la señal original; en el centro, la señal digital con pulsos de ruido añadido durante el viaje; a la derecha, la señal que interpreta el receptor. El ruido y las interferencias no afectan por igual a todas las señales. Es importante destacar que algunas señales se ven afectadas por el ruido más que otras, sobre todo aquéllas que resultan más tenues o de amplitud menor. Por ejemplo, unos picos de ruido de 1 V afectan mucho más a una señal que tiene una amplitud de 1 V que a otra señal que tiene una amplitud de 100 V. En el segundo caso, una subida o bajada de 1 V no impide que el receptor interprete correctamente la información que lleva. La figura 3.29 muestra gráficamente esta situación: Figura 3.29. Efecto del ruido sobre las señales. Nótese que un nivel de distorsión de igual intensidad no afecta de la misma forma a las señales de diferente amplitud. Para poder determinar cuantitativamente esta importancia del nivel de ruido en un medio de transmisión, se podría manejar el cociente entre el nivel medio de las señales y el ruido. Esta ecuación nos indicaría qué relación de magnitud existe entre la señal transmitida y el ruido (en proporción): relación _ señal _ ruido = potencia _ señal potencia _ ruido RA-MA 106 REDES DE ÁREA LOCAL La potencia de la señal (al igual que la del ruido) puede expresarse en función de la magnitud empleada para transmitir la información (como puede ser la amplitud de tensión o intensidad de corriente). Por ejemplo, supongamos una amplitud de ruido de 2 V. Si disponemos de dos señales diferentes a transmitir, una de amplitud de 3 V (a) y la otra de 20 V (b), las relaciones señal-ruido son las siguientes: 3 = 1,5 2 20 relación _ señal _ ruidob = = 10 2 relación _ señal _ ruidoa = Por lo tanto, estos resultados nos indican que la señal a) se ve más afectada por el ruido que b) porque su relación señal-ruido es menor. La relación señal-ruido se suele expresar como (S/N) y se mide en decibelios (dB). Esta medida se obtiene tomando logaritmos en base 10 de la relación lineal: S S = 10 ⋅ log10 N lineal N dB Por ejemplo, una relación señal-ruido de 40 dB significa que la potencia de la señal es 10.000 veces superior a la potencia del ruido. La unidad de medida en decibelios permite trabajar con valores muy grandes para relaciones señal-ruido comunes. 3.5.2. Capacidad de transmisión en un canal ideal Hasta ahora hemos visto una serie de efectos físicos que producen problemas en la transmisión. Aparte de ellos, existen unos límites superiores que determinan la velocidad de transmisión máxima de un canal, dependiendo de su ancho de banda y del tipo de señal empleada. Para medir la velocidad máxima que puede soportar un medio de transmisión determinado con respecto al tipo de señal utilizada, se emplean dos medidas fundamentales: el baudio y los dígitos binarios por segundo (bps). La medida en bps es el parámetro más importante (junto con sus múltiplos kbps, Mbps, Tbps, etc.), ya que nos indica el número de bits que se transmiten en un segundo (visto desde el punto de vista del emisor o el receptor). Por su parte, el baudio mide la cantidad de veces por segundo que la señal cambia su valor (por ejemplo, su voltaje). Una línea de b baudios no necesariamente transmite b bps, pues cada señal podría transportar varios dígitos. Si se usaran, por ejemplo, los voltajes 0, 1, 2, 3, 4, 5, 6 y 7, el valor de cada señal podría servir para transportar tres dígitos (como se muestra en la figura 3.30), de modo que la velocidad en bps sería tres veces superior a la velocidad en baudios. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 107 Si se utilizan solamente dos niveles, cada uno de ellos representará a un dígito binario (0 ó 1) y la velocidad en bps será igual a la velocidad en baudios. En otros casos (véanse los códigos vistos en el apartado 3.4) la velocidad en bps puede ser menor que la velocidad en baudios. Por otra parte, la velocidad de transmisión de un canal de comunicación se mide en dígitos binarios por segundo o bps, es decir, el número de dígitos binarios que es capaz de transportar un determinado medio de comunicación utilizando algún método de codificación. Si se tiene una velocidad de b bps, el tiempo que se requiere para enviar N dígitos es de (N / b) segundos. Figura 3.30. Ejemplo de transmisión utilizando más de dos niveles de voltaje. En estas condiciones, cada pulso transporta tres dígitos binarios, pero también hay que tener en cuenta que el ancho de banda de este tipo de señales es muy superior al de una señal digital de dos estados. En 1924, H. Nyquist se dio cuenta de la existencia de un límite fundamental que expresaba la tasa de datos máxima para un canal ideal (sin ruido ni distorsiones) de ancho de banda finito. En este medio ideal, la velocidad máxima de transmisión de datos en bps viene limitada por el teorema de Nyquist que establece: C = 2 ⋅ W ⋅ log 2 (M ) Siendo M el número de niveles posibles de la señal y W el ancho de banda expresado en hertzios (Hz), el valor de M para una señal digital binaria es 2 por ser señales de dos estados. Por ejemplo, un canal sin ruido de 3 kHz no puede transmitir señales binarias (esto es, de dos niveles) a una velocidad mayor que 6.000 bps. El interés de esta expresión radica en que fija una cota superior con la que comparar el comportamiento de los sistemas que se diseñan ya que, cuando se habla de velocidad de transmisión de un canal real (con ruidos), nunca se alcanzan estas velocidades. RA-MA 108 REDES DE ÁREA LOCAL 3.5.3. Capacidad de transmisión de un canal con ruido Ya que los canales ideales no existen, sería interesante conocer la capacidad de un canal real, en el que va a aparecer una cierta cantidad de ruido. En 1948, Claude Shannon llevó más allá el trabajo de Nyquist y lo extendió al caso de un canal sujeto a ruido aleatorio. La siguiente expresión, conocida como fórmula de Shannon, nos proporciona la capacidad máxima en bps de un canal con ruido: S C = W ⋅ log 2 1 + N En esta fórmula se ha utilizado la medida de la relación señal-ruido lineal (no en dB). De esta expresión podemos deducir que la capacidad de los canales con poco ruido será mayor que la de aquéllos con mucho ruido. Por ejemplo, un canal con ancho de banda de 4.000 Hz y una relación señal-ruido térmico de 3 dB nunca puede transmitir a mucho más que 6,3 Kbps, sin importar cuántos niveles de señal se usen. Esta capacidad máxima es inalcanzable, ya que la fórmula de Shannon supone unas condiciones que en la práctica no se dan. No tiene en cuenta el ruido impulsivo, atenuación o distorsión y representa el límite teórico máximo alcanzable. 3.6. MEDIOS DE TRANSMISIÓN El medio de transmisión constituye el soporte físico a través del cual emisor y receptor pueden comunicarse en un sistema de transmisión de datos. Distinguimos dos tipos de medios: guiados y no guiados. En ambos casos, la transmisión se realiza por medio de ondas electromagnéticas. Los medios guiados conducen las ondas a través de un campo físico (cables). Los medios no guiados proporcionan un soporte para que las ondas se transmitan, pero no las dirigen (como es el aire). La naturaleza del medio, junto con la de la señal que se transmite a través de él, constituye un factor determinante de las características y la calidad de la transmisión. En el caso de medios guiados, es él mismo el que determina las limitaciones de la transmisión. Así, cada uno de los medios que se verán en los apartados siguientes cumple unas determinadas características en cuanto a: ⌦Velocidad de transmisión de los datos. ⌦Ancho de banda que puede soportar. ⌦Espacio entre repetidores. ⌦Fiabilidad en la transmisión. ⌦Costo. ⌦Facilidad de instalación. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 109 Sin embargo, a la hora de obtener la velocidad de transmisión máxima que puede soportar un medio no guiado, resulta más determinante el espectro de frecuencia de la señal utilizado que las características del propio medio (aunque también están muy influenciados por las condiciones atmosféricas). Puesto que existen muchas formas de instalar redes locales en organizaciones y universidades, y todo depende del cableado que se utilice, los conectores, la forma en la que se interconectan los dispositivos, etc., para ayudar a tomar todas esas decisiones, existen varios estándares de cableado estructurado18. La más utilizada es la EIA/TIA-568, desarrollada por la Asociación de Industrias de Electrónica y la Asociación de Industrias de Telecomunicaciones, aunque existen otras muy importantes como EN 50173 y ISO/IEC-11801 (se verán en el apéndice A). 3.6.1. Par sin trenzar (paralelo) Este medio de transmisión está formado por dos hilos de cobre paralelos recubiertos de un material aislante (plástico). Este tipo de cableado ofrece muy poca protección frente a interferencias. Normalmente se utiliza como cable telefónico para transmitir voz analógica y las conexiones se realizan mediante un conector denominado RJ-11. Es un medio semidúplex ya que la información circula en los dos sentidos por el mismo cable pero no se realiza al mismo tiempo. Figura 3.31. Cable paralelo categoría 1. Este tipo de cable se utiliza en pares sueltos, aunque también existe cable paralelo agrupado como un mazo de varias decenas de pares. En la figura también aparece el conector que se utiliza (RJ-11), de cuatro pines, de los que se utilizan solamente las dos centrales para las conexiones. Para el estándar de la RTB no importa el orden de engastado de cada cable, siempre que se coloquen en los pines 2 y 3. 18 Las normas de cableado estructurado definen en la práctica cómo se deben instalar las redes en los edificios, desde cables, conectores, etc. Para más información, consultar el apéndice A de este libro. 110 REDES DE ÁREA LOCAL RA-MA El cable paralelo se utiliza fundamentalmente en tendido eléctrico de alta tensión y también para transmisión de datos a corta distancia (apenas unos metros), ya que las interferencias afectan mucho a este tipo de transmisiones. El cable paralelo “en bus” se utiliza comúnmente dentro del ordenador para comunicar entre sí los diferentes elementos internos de él, ya que la distancia que los separa es muy corta y, por lo tanto, no es necesaria la protección frente al ruido. También se utiliza en los cables serie, paralelo y cables telefónicos que conectan el terminal a la caja de conexiones del usuario. Según los estándares de cableado estructurado, a este tipo de cable también se le conoce como cable de categoría 1. 3.6.2. Par trenzado El par trenzado consiste en dos cables de cobre aislados, normalmente de 1 mm de espesor, enlazados de dos en dos de forma helicoidal, semejante a la estructura del ADN. La forma trenzada del cable se utiliza para reducir la interferencia eléctrica con respecto a los pares cercanos y a otras interferencias procedentes del exterior19. En un par trenzado, normalmente uno de los cables está marcado con una línea longitudinal que indica que se utiliza como masa. Esto es debido a que, a diferencia del cable paralelo, el cable de par trenzado se utiliza también para transmisión digital, y es necesario seguir el orden en ellos cuando se engasta al conector. La figura 3.32 muestra la forma de un par trenzado y los conectores habituales para este tipo de configuración. Debido a su fácil instalación, velocidad de transmisión de hasta varios Mbps y bajo coste, los pares trenzados se utilizan ampliamente y es probable que se siga utilizando por mucho tiempo. Los pares trenzados suelen agruparse en cables de mayor grosor, recubiertos por un material aislante, ya que su transmisión suele ser símplex. Dependiendo de la forma en la que se agrupan estos pares, tenemos varios tipos: Pares trenzados no apantallados (UTP): Son los más simples y no tienen ningún tipo de pantalla conductora. Su impedancia característica es de 100 Ω y es muy sensible a interferencias. El par trenzado UTP categoría 5 está recubierto de una malla de teflón20 que no es conductora. Pares trenzados apantallados individualmente (STP): Son iguales que los anteriores, pero en este caso se rodea a cada par de una malla conductora, que se conecta a las diferentes tomas de tierra de los equipos. Son los que poseen una mayor inmunidad al ruido. 19 Dos alambres paralelos constituyen una antena simple, de forma que son capaces de inducir o ser inducidos con una corriente eléctrica proveniente de cables cercanos. El ejemplo más claro se encuentra en el funcionamiento de los transformadores de corriente. 20 El teflón es el nombre comercial de tetrafluoroetileno polimerizado y se trata de una materia sólida plástica de color oscuro. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 111 Pares trenzados apantallados (FTP): Son unos cables de pares que poseen una pantalla conductora global en forma trenzada. Mejora la protección frente a interferencias y su impedancia es de 120 Ω. Figura 3.32. Cable de par trenzado y conector RJ-45. Normalmente, uno de los cables se marca para indicar que es la masa de la señal. Por su parte, el conector RJ-45 es muy similar al RJ-11, pero tiene 8 pines. Figura 3.33. Pares trenzados apantallados FTP. Son los cables más comunes, aunque poseen una mayor rigidez que los cables UTP. Así mismo, dependiendo del número de pares que tenga un cable, el número de vueltas por metro que posee su trenzado y los materiales utilizados, los estándares de cableado estructurado clasifican a los tipos de pares trenzados por categorías: categoría 1 (cable paralelo), categoría 2, categoría 3, categoría 4, categoría 5, categoría 5e, categoría 6 y categoría 7 (estas dos últimas todavía en fase de desarrollo). Para más información sobre las características de estas categorías, se puede consultar el anexo A sobre cableado estructurado. 112 REDES DE ÁREA LOCAL RA-MA 3.6.3. Cable coaxial El cable coaxial es otro medio típico de transmisión. Este cable tiene mejor blindaje que el par trenzado, por lo que puede alcanzar velocidades de transmisión mayores y los tramos entre repetidores o estaciones pueden ser más largos. El cable coaxial consta de un alambre de cobre duro en su parte central por donde circula la señal, el cual se encuentra rodeado por un material aislante. Este material está rodeado por un conductor cilíndrico presentado como una malla de cobre trenzado que hace de masa. El conductor externo está cubierto por una capa de plástico protector. Esta construcción le confiere un elevado ancho de banda y excelente inmunidad al ruido. La figura 3.34 muestra la estructura de un cable coaxial. La velocidad de transmisión de este cable depende de su longitud y en cables de 1 km es posible entre 1 y 2 Gbps. Los cables coaxiales solían utilizarse en el sistema telefónico, pero ahora se les ha reemplazado por fibra óptica en rutas de largo recorrido y troncales de gran ancho de banda. Sin embargo, el cable coaxial todavía se utiliza para la televisión por cable y en redes de área local. Figura 3.34. El cable coaxial. Aunque existen muchos grosores, todos ellos comparten la misma estructura básica. Hay dos tipos fundamentales de cable coaxial: el cable coaxial de banda base (para transmisión digital) y el cable coaxial de banda ancha21 (utilizado para transmisión analógica), cuyas características son las siguientes: Coaxial de banda base (50 ohms): Se utiliza en la transmisión digital. El ancho de banda máximo que se puede obtener depende de la longitud del cable; para cables de 1 km, por ejemplo, es factible obtener velocidades de transmisión de datos de hasta 10 Mbps y, en cables de longitudes menores, es posible obtener velocidades superiores. Los cables coaxiales se emplean ampliamente en redes de área local y para transmisiones de largas distancias, aunque utilizar cables de mayor longitud hace reducir la velocidad de transmisión. Existen dos tipos: 21 El término banda ancha viene de la telefonía y se refiere a cualquier señal más allá de los 4 kHz. Sin embargo, en el mundo de las redes de computadoras cable de banda ancha significa ‘cualquier cable que utilice transmisión analógica’. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 113 Coaxial grueso: Comenzó a utilizarse en redes locales y hoy en día sólo se emplea para realizar la estructura troncal de distribución de la red. Hay dos tipos: • RG-100: Es el más utilizado. Su núcleo es de 2,6 mm, mientras que la malla es de 9,5 mm (dando lugar a un cable de 1 cm de diámetro aproximadamente). • RG-150: Posee una secuencia de capas trenzadas que protegen mejor de las interferencias electromagnéticas. Su núcleo es de 3,7 mm, mientras que la malla es de 13,5 mm (dando lugar a un cable de 1,5 cm de diámetro). Coaxial fino: Dada su flexibilidad es más fácil de instalar, aunque es más caro y posee menor inmunidad frente a interferencias. Posee un núcleo de 1,2 mm y una malla de 4,4 mm, lo que hace un cable de ≈ 0,5 cm. Existen varios tipos de cables coaxiales finos, pero el más utilizado es el RG-58 (en España se suele nombrar como RG-58/U). Coaxial de banda ancha (75 ohms): Se utiliza para transmisión analógica, comúnmente para el envío de la señal de televisión por cable. Dado que las redes de banda ancha utilizan la tecnología patrón para envío de señales de televisión por cable, los cables pueden emplearse para aplicaciones que necesiten hasta los 300 Mhz (y en algunos casos hasta los 450 Mhz) y extenderse a longitudes que alcanzan casi los 100 km, gracias a la naturaleza analógica de la señal (es menos crítica que la digital). Un cable típico de 300 MHz, por lo general, puede mantener velocidades de transmisión de datos de hasta 150 Mbps. Los conectores que se utilizan para el cableado coaxial aparecen representados gráficamente en las figuras 3.35 y 3.36. Cuando se utiliza cable coaxial delgado, las conexiones se realizan de forma más sencilla. Cada estación se enchufa a través de su tarjeta de red a un conector BNC en T. Éstos, a su vez, están enlazados con el cable coaxial mediante los conectores BNC soldados a él. Finalmente, es necesario que existan terminadores BNC en los extremos (para cerrar el circuito), compuestos de una resistencia que tenga la misma impedancia que el cable. La figura 3.37 muestra en detalle esta conexión. Las conexiones en cable coaxial grueso son un poco más complejas, ya que existe un dispositivo llamado transceptor que es el que conecta la estación con el cable y es aéreo (en el cable coaxial delgado va integrado en la propia tarjeta). La conexión entre la estación y el transceptor se hace a través de un cable digital llamado cable transceptor, que utiliza unos conectores llamados AUI macho y AUI hembra. Los conectores machos serie-N están soldados al cable coaxial y se unen a los transceptores para formar la red. En los extremos también deben conectarse terminadores serie-N para cerrar el circuito. La figura 3.38 muestra estas conexiones. 114 REDES DE ÁREA LOCAL RA-MA Figura 3.35. Conectores empleados en el cable coaxial delgado. Los conectores BNC van soldados directamente al cable coaxial y se conectan a BNC axiales (para aumentar la longitud del cable en determinados tramos) y BNC en T (que enlazan con las estaciones). Uno de los terminadores suele tener una conexión a tierra para reducir interferencias. Figura 3.36. Conectores utilizados en el cable coaxial grueso. Aquí se utilizan conexiones digitales (cable transceptor con conexiones AUI de 15 pines) entre la tarjeta de red y el cable coaxial. Los conectores macho serie-N son muy parecidos a los conectores BNC, pero su diámetro es un poco mayor. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 115 Figura 3.37. Conexión de una red con cable coaxial delgado. Es necesario colocar terminadores BNC en los extremos para cerrar el circuito. En caso de que se suelte algunas de las conexiones con los BNC, la red “cae” y hay que reiniciar todas las estaciones. Figura 3.38. Conexión de una red con cable coaxial grueso. La tarjeta de red tiene un conector DIX hembra, que se conecta con el DIX macho del cable transceptor. Por su parte, el transceptor tiene un conector DIX mecho y se conecta al DIX hembra del transceptor. También tiene conectores hembra serie-N, que son los que conectan con los machos del cable coaxial. Los conectores axiales serie-N se utilizan para aumentar la longitud de los tramos, si es necesario. En una misma red se puede utilizar cable coaxial delgado y grueso; para ello se necesitan adaptadores. Éstos conectan, por un extremo, un cable coaxial delgado (con un BNC macho o hembra) y, por el otro, el coaxial grueso (un conector serie-N macho o hembra). Puesto que estas redes utilizan los mismos métodos y señales para transmitir, no es necesario utilizar dispositivos adicionales que realicen adaptación de protocolos. En comparación con el par trenzado, el cable coaxial es más inmune a interferencias, lo que permite unas longitudes de cable mayores. El par trenzado utiliza la transmisión balanceada, consistente en que cada par forma un circuito cerrado de transmisión; por ellos circula la misma corriente, pero en sentidos opuestos. En un cable coaxial se utiliza la transmisión no balanceada porque la señal circula por el núcleo de cobre y vuelve a tierra. 116 REDES DE ÁREA LOCAL RA-MA 3.6.4. Fibra óptica La fibra óptica está basada en la utilización de las ondas de luz para transmitir información binaria. Un sistema de transmisión óptico tiene tres componentes: La fuente de luz: Se encarga de convertir una señal digital eléctrica (ceros y unos) en una señal óptica. Típicamente se utiliza un pulso de luz para representar un “1” y la ausencia de luz para representar un “0”, o se modifica su longitud de onda. El medio de transmisión: Se trata de una fibra de vidrio ultradelgada que transporta los pulsos de luz. El detector: Se encarga de generar un pulso eléctrico en el momento en el que la luz incide sobre él. Figura 3.39. Elementos básicos de un sistema de transmisión por ondas de luz. La fuente de luz suele ser un dispositivo emisor de láser, mientras que el receptor es un fotodetector o una fotorresistencia. La tecnología actual ha permitido la reducción de costes en la fabricación de emisores de láser, gracias a la invención de los diodos láser. Estos componentes reducen el consumo de corriente; ahora se pueden alimentar con una simple pila de bolsillo. Al conectar una fuente de luz en un extremo de una fibra óptica y un detector en el otro, tenemos un sistema de transmisión de datos símplex que acepta una señal eléctrica, la convierte y transmite en pulsos de luz y, después, reconvierte la salida a una señal eléctrica en el extremo del receptor. Figura 3.40. Estructura de la fibra óptica. Por el núcleo circula la luz, mientras que el revestimiento está diseñado para que ningún rayo de luz del núcleo escape de él. Finalmente, la envoltura externa es opaca e impide que un rayo de luz externo pueda introducirse en el núcleo. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 117 La fibra óptica está cuidadosamente diseñada para transportar señales de luz. Se trata de un cilindro de pequeña sección flexible (diámetro del orden de 2 a 125 µm22) por el que se transmite la luz, recubierto de un medio con un índice de refracción menor que el del núcleo a fin de mantener toda la luz en el interior de él. A continuación viene una cubierta plástica delgada para proteger el revestimiento e impedir que cualquier rayo de luz del exterior penetre en la fibra. Finalmente, varias fibras suelen agruparse en haces protegidos por una funda exterior, como se muestra en la figura 3.40. Figura 3.41. Tipos de transmisión en cables de fibra óptica. La fibra monomodo es tan delgada como un pelo humano. Los cables de fibra óptica pueden transmitir la luz de tres formas diferentes: Monomodo: En este caso, la fibra es tan delgada que la luz se transmite en línea recta. El núcleo tiene un radio de 10 µm y la cubierta, de 125 µm. Multimodo: La luz se transmite por el interior del núcleo incidiendo sobre su superficie interna, como si se tratara de un espejo. Las pérdidas de luz en este caso también son prácticamente nulas. El núcleo tiene un diámetro de 100 µm y la cubierta, de 140 µm. 22 Como comparación, el grosor del cabello humano es de alrededor de 50 µm. 118 REDES DE ÁREA LOCAL RA-MA Multimodo de índice gradual: La luz se propaga por el núcleo mediante una refracción gradual. Esto es debido a que el núcleo se construye con un íncide de refracción que va en aumento desde el centro a los extremos. Suele tener el mismo diámetro que las fibras multimodo. Con la tecnología actual, la fibra óptica permite una velocidad de transmisión experimental en el laboratorio que sobrepasa los 50.000 Gbps (50 Tbps). El límite práctico se encuentra cerca de 1 Gbp, y es debido a la incapacidad que los dispositivos tienen para convertir con mayor rapidez las señales eléctricas a ópticas y al revés (tanto los emisores como los detectores). Frente a la velocidad de transmisión tan elevada que tiene la fibra, el inconveniente principal es su gran coste. No tiene tanto que ver con el precio por metro de fibra, sino que más bien está relacionado con el montaje. El cable de fibra óptica no se puede doblar demasiado y las conexiones son muy costosas y complicadas. Muchas veces sale más rentable desechar varios kilómetros de fibra antes que hacer una unión de varios tramos. Existen tres formas de unir dos cables de fibra óptica: Utilizando conectores: Cada tramo de fibra puede venir de fábrica con enchufes en los extremos. Esta forma de conectarlos es muy sencilla, pero adolece de una pérdida de entre un 10 y un 20% de la luz que circula a través de la conexión. Realizando empalmes de forma mecánica: Se realiza un corte cuidadoso del extremo de cada tramo y se unen ambos mediante una manga especial que los sujeta en su lugar. Se puede mejorar la alineación haciendo pasar luz por la unión y efectuando pequeños ajustes hasta alcanzar su posición idónea. Los empalmes mecánicos resultan de una pérdida de luz en torno al 10%. Fundiendo los dos extremos: Se realiza una fusión de los dos tramos para formar una conexión sólida. Este empalme es casi tan bueno como una fibra de hilado único, pero aun así existe un poco de atenuación. Las ventajas que tiene el uso de la fibra óptica frente a los cables de cobre convencionales son las siguientes: • Puede manejar anchos de banda mucho más grandes que el cobre. • Debido a su baja atenuación, sólo se necesitan repetidores cada 30 km (en el cobre se necesitan repetidores cada 5 km). • No es interferida por las ondas electromagnéticas. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 119 • Es delgada y ligera, sobre todo comparada con cables de cobre de igual capacidad de transmisión. • Las fibras no tienen fugas y es muy difícil intervenirlas. Hay que cortar el cable o desviar parte de la luz, tarea nada sencilla que requiere el uso de costosos dispositivos. 3.6.5. Medios inalámbricos La comunicación inalámbrica (que no necesita de ningún tendido de cable entre el emisor y el receptor) resulta indispensable para aquellos usuarios móviles que necesitan estar continuamente “en línea”. También es de mucha utilidad cuando resulta muy costoso tender hilos de comunicación en zonas geográficas de difícil acceso. Las comunicaciones inalámbricas consisten en el envío y recepción de electrones (o fotones) que circulan por el espacio libre (el aire). Estos electrones viajan en forma de ondas electromagnéticas que se propagan del mismo modo que las ondas del agua en un estanque. La distancia que separa dos “picos” o máximos consecutivos de esas ondas se llama longitud de onda y se designa universalmente con la letra griega λ (lambda). Hay que decir que para las ondas electromagnéticas que circulan por el aire no se utiliza la medida del periodo de la señal. La relación entre la frecuencia (f) y la longitud de onda (λ) de la señal viene expresada por la siguiente ecuación: c=λ⋅ f Dependiendo de la frecuencia de la señal (y, por extensión, de su longitud de onda), existen diferentes tipos de enlaces inalámbricos, exhibiendo diferentes propiedades. Éstos se explican en los apartados siguientes. Ondas de radio Las ondas de radio son fáciles de generar, pueden viajar largas distancias, penetran en los edificios sin problemas y viajan en todas direcciones desde la fuente emisora. Sin embargo, por la capacidad que tienen de viajar a largas distancias, es necesario realizar un control estricto por parte de los gobiernos para que las diferentes transmisiones no se interfieran entre sí. Existen dos tipos de ondas de radio: • Ondas de radio de baja frecuencia: Se caracterizan porque en su recorrido siguen la curvatura de la Tierra y pueden atravesar con facilidad los edificios. Sin embargo, su ancho de banda sólo permite velocidades de transmisión bajas. 120 REDES DE ÁREA LOCAL RA-MA • Ondas de radio de alta frecuencia: Estas ondas tienden a ser absorbidas por la Tierra, por lo que deben ser enviadas a la ionosfera donde son reflejadas y devueltas de nuevo, con lo que se consigue transmitir a largas distancias. Figura 3.42. Tipos de ondas de radio. Las ondas de radio de baja frecuencia (izda.) tienden a seguir la curvatura de la Tierra y no son absorbidas por ésta. Las ondas de radio de alta frecuencia sí son absorbidas por la superficie y, para evitar esta curva y viajar largas distancias, se les suele hacer rebotar en la ionosfera. En algunas situaciones, también se utilizan repetidores intermedios con esta misma finalidad. Microondas Además de su aplicación en hornos, las microondas permiten transmisiones tanto terrestres como con satélites. Sus frecuencias están comprendidas entre 1 y 10 Ghz y posibilitan velocidades de transmisión aceptables, del orden de 10 Mbps. Por encima de los 1.000 Hz, las microondas viajan en línea recta y, por tanto, se pueden enfocar en un haz de pequeña anchura. Concentrar toda la energía en un haz pequeño con una antena parabólica produce una relación señal/ruido muy alta (es decir, la amplitud del ruido puede ser muy pequeña), pero las antenas del emisor y el receptor deben estar muy bien alineadas entre sí. Figura 3.43. Enlaces de microondas. Este tipo de enlaces es característico por sus antenas parabólicas, cerradas en su boca. Se utilizan frecuentemente en comunicaciones de telefonía móvil donde cada antena se comunica con las más cercanas mediante estos enlaces. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 121 A diferencia de las ondas de radio, las microondas no atraviesan bien los obstáculos, de forma que es necesario situar antenas repetidoras cuando queremos realizar comunicaciones a largas distancias. En el caso de las comunicaciones por satélite, hay que tener en cuenta que siempre existe un pequeño retardo en las transmisiones debido a que la señal tarda aproximadamente 0,3 segundos en llegar y volver. Para algunas aplicaciones de envío y recepción de datos, este tiempo de espera puede resultar inaceptable. Ondas infrarrojas Las ondas infrarrojas y milimétricas se utilizan mucho para la comunicación de corto alcance, en controles remotos de televisores, grabadoras de vídeo, estéreos, etc. También es frecuente encontrar un puerto de comunicación infrarroja en los ordenadores portátiles. Estos controles son relativamente direccionales, baratos y fáciles de construir, pero tienen un inconveniente importante: no atraviesan los objetos sólidos. Este inconveniente también resulta a veces una ventaja en el sentido de que ofrecen más seguridad, precisamente porque la comunicación no atraviesa las paredes de un edificio23. Además, no es necesario obtener licencia del gobierno para operar un sistema de transmisión infrarrojo. Ondas de luz Es posible comunicar dos edificios mediante un láser montado en cada azotea. La señalización óptica coherente mediante láser es unidireccional, de modo que cada edificio necesita un emisor láser y un receptor. Este esquema ofrece un coste muy bajo, es fácil de instalar y posee una elevada velocidad de transmisión. Por su parte las desventajas de este sistema son: • Es difícil colocar correctamente los emisores y los receptores. • El rayo láser no puede penetrar la lluvia y la niebla densa. • Las corrientes de convección (aire caliente que sube del edificio) interfieren también en el haz de láser. 3.6.6. Comparativa de los diferentes medios de transmisión Antes de finalizar este apartado donde se han expuesto las características de los medios de transmisión más importantes, se incluyen varias tablas comparativas de todos ellos, en cuanto a velocidad máxima de transmisión (un valor aproximado que no tiene en cuenta la longitud del cable), ancho de banda, distancia sin repetidores y otros aspectos de coste e instalación. 23 La comunicación infrarroja no puede usarse en exteriores porque el sol también emite gran cantidad de radiaciones infrarrojas que perturban la señal enviada. RA-MA 122 REDES DE ÁREA LOCAL Las características de transmisión expuestas en la tabla 3.2 están directamente relacionadas con los medios especificados y no tienen que ver con los estándares utilizados. Hay que tener en cuenta que las limitaciones de transmisión no sólo tienen que ver con los medios en cuestión, sino también con los dispositivos conectados a éstos que se utilizan para adaptar convenientemente las señales y los protocolos de comunicación en los que se basen. Por lo tanto, la tabla 3.2 compara las características teóricas de los distintos medios, que en la práctica suelen tener valores algo inferiores. Tabla 3.2. Resumen de las características de los medios de transmisión Medio Par trenzado Coaxial Fibra óptica Ondas de radio Microondas Infrarrojo Ondas de luz Velocidad máxima de transmisión 1 Gbps 2 Gbps más de 10 Gbps 1 Mbps 10 Mbps 10 Mbps 1 Mbps Ancho de banda 600 Mhz 800 Mhz 2 Ghz 18-19 Ghz Distancia entre repetidores 2-10 km 10-100 km más de 100 km 100-1.000 km 80 km 200 m 1 km Tabla 3.3. Comparación entre los distintos medios de cobre Característica Velocidad de transmisión Longitud máxima segmento Inmunidad frente a interferencias Conectores usados Flexibilidad física Dificultad de instalación Coste Cable coaxial Grueso Delgado 1 Gbps 10 Mbps Cable de pares trenzados UTP STP/FTP 100 Mbps 1 Gbps 500 m 200 m 100 m 100 m Máxima Buena Mínima Buena Transceptor BNC RJ-45 RJ-45 Ninguna Media Máxima Media Alta Baja Media Alta Alto Bajo Muy bajo Bajo 3.7. INTERCONEXIÓN DE REDES La conexión física de un equipo con otro o con una red de ordenadores requiere de los siguientes dispositivos: un adaptador, cableado y otros elementos de interconexión. En este apartado veremos con detalle estos dispositivos. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 123 La conexión de un ordenador a la red se debe realizar a través de unos dispositivos específicos llamados adaptadores que convierten la señal digital del ordenador en otra adecuada para ser transmitida por la red. Estos adaptadores se pueden conectar en los distintos puertos del equipo: Puerto serie: Hoy en día solamente se utiliza para conectar módem externos u otros dispositivos periféricos (ratones, impresoras, etc.). Puerto paralelo: No se utiliza para interconexión de redes; está reservado para la impresora. Puerto USB: Adecuado para gran variedad de dispostivos, tanto para uso en redes como otros periféricos. Puerto FireWire: Todavía poco extendido. Ranuras de expansión: Es el método más utilizado; se emplean conexiones de tipo ISA (transmite 16 bits en paralelo) y PCI (32 bits). 3.7.1. Módem El módem es el dispositivo que permite a un ordenador enviar y recibir información a través de la red telefónica conmutada, que transmite señal analógica. Para ello, utiliza las técnicas de modulación descritas en el apartado 3.4. Un módem puede ser interno (conectado a las ranuras de expansión de la placa base en el interior de la carcasa) o externo (situado fuera de la carcasa del ordenador y conectado a través del puerto serie o USB). Como tradicionalmente el módem ha sido externo, para algunos tipos internos se utiliza la técnica de emulación de puerto serie (también se conocen popularmente como winmodem debido a que la utilizan los sistemas operativos de Microsoft). Ésta consiste en que el controlador de dispositivo24 del módem hace creer al sistema operativo que está conectado físicamente a un puerto serie (lo que en algunas configuraciones puede acarrear conflictos). Así, en algunos sistemas operativos como Linux este tipo de módem no funciona sin un controlador específico, que en muchos casos no es suministrado por el fabricante. En caso de que la conexión del módem se realice a través del puerto serie, no suele existir ningún problema de configuración, ya que las normas que establecen este tipo de comunicaciones están bastante estandarizadas. Los estándares que definen la transmisión de datos del módem a través de la red telefónica conmutada son las normas de la serie V (de la ITU-T), aunque otros fabricantes tienen las suyas propias. Otras normas importantes son las de la serie X y RS, que establecen cómo se comunica el módem con el ordenador a través del puerto serie. Éstas se verán en profundidad en el apartado 3.8. 24 Es un pequeño programa que usa el sistema operativo para comunicarse con el dispositivo, ya que normalmente no accede a él directamente. También se le llama driver. 124 REDES DE ÁREA LOCAL RA-MA El término módem se ha ampliado actualmente de forma que ahora muchas personas consideran que este dispositivo se utiliza para conectar su equipo a una red de área extensa (definición que es más cercana a la de adaptador de red en general). En estas condiciones, el módem no funciona como modulador/demodulador de señal, ya que los métodos de transmisión son digitales extremo a extremo. Algunos ejemplos de estos adaptadores son: Módem RDSI: Interconecta el ordenador a la red digital RDSI. Módem ADSL: Se utiliza para conectar con la línea ADSL. Módem cable: Se usa para conectar el equipo a las redes de cable coaxial que en un principio se diseñaron para la transmisión de televisión por cable. La instalación y conexión de un módem interno aparece esquematizada en la figura 3.44. Todos los demás aspectos de configuración de este dispositivo dependen en gran medida del sistema operativo, por lo que se tratará a fondo en el apéndice B de este libro. Figura 3.44. Conexión de un módem interno a la línea telefónica. Cuando el usuario solamente dispone de una línea, ésta debe ser compartida por el ordenador y el teléfono (por esta razón el módem dispone de dos tomas RJ-11). En caso de que se disponga de más de una línea, el ordenador se conectará a una y el teléfono a otra. La conexión de un módem externo se realiza de forma similar. 3.7.2. Tarjetas de red Otro dispositivo muy importante en la instalación de una LAN es la tarjeta de red, también llamada NIC (Network Interface Card o Tarjeta de Interfaz de Red). Básicamente realiza la función de intermediario entre el ordenador y la red de comunicación. En ella se encuentran grabados los protocolos de comunicación de la red, en los niveles físico, enlace de datos y red. Por su parte, la comunicación con el ordenador se realiza normalmente a través de las ranuras de expansión que éste dispone (ya sea ISA, PCI o PCMCIA), aunque algunos equipos disponen de este adaptador integrado directamente en la placa base. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 125 Los pasos que sigue una tarjeta de red para transmitir la información por el medio son los siguientes: 1. Determinar la velocidad de transmisión, la longitud del bloque de información, el tamaño de la memoria intermedia (buffer), etc. Esta información se obtiene a partir de la configuración establecida en el sistema. 2. Convertir el flujo de bits en paralelo a una secuencia en serie (recuérdese que la transmisión por el bus entre el ordenador y la tarjeta es en paralelo). 3. Codificar la secuencia de bits en serie formando una señal eléctrica adecuada. Figura 3.45. Elementos integrados en una tarjeta de red. La conexión con la red se realiza por la parte izquierda del conector RJ-45, que queda al descubierto una vez montada. Las tarjetas de red que utilizan los ordenadores portátiles son más pequeñas y utilizan el conector de expansión PCMCIA. La tarjeta de red conectada al equipo ofrece por la cara que queda visible al exterior la conexión a la red (RJ-45, BNC, AUI o varias de éstas a la vez), además de otros indicadores de estado. La figura 3.45 muestra todas las partes de una tarjeta de red, las cuales se explicarán a continuación: Procesador principal: Realiza las operaciones de comunicación, en base a los protocolos establecidos. Conexión con el bus: Es la vía de comunicación entre la tarjeta de red y el bus de sistema del ordenador. 126 REDES DE ÁREA LOCAL RA-MA Zócalo ROM BIOS: Se utiliza para insertar una memoria ROM (sólo lectura) que permite al ordenador obtener el sistema operativo de la red y arrancar si no dispone de unidades de disco. Transceptor: Es el dispositivo encargado de dar acceso al medio de transmisión de la red cuando el ordenador desea enviar o recibir datos. Puede estar instalado en la tarjeta o se puede conectar a ésta desde el exterior, mediante el cable adecuado. Este dispositivo también se encarga de detectar la señal portadora que circula por el medio y las colisiones que se puedan producir. Conector Wake on LAN: Este conector comunica mediante un cable la tarjeta con la placa base del ordenador y permite el arranque de esa estación enviando órdenes desde otra estación diferente. Indicadores de estado: Permiten comprobar el estado actual de la comunicación. Aunque diferentes fabricantes usan nombres distintos, podemos nombrarlos como LNK (o PWR), que se enciende si hay conexión con la red; ACT (o TX/RX) luce si la tarjeta está enviando o recibiendo datos y COL (o FUDUP) indica si se ha producido una colisión (varias estaciones transmiten a la vez). Así mismo, el fabricante puede incluir otro indicador para mostrar la velocidad de transmisión que está utilizando esa tarjeta (el color naranja suele indicar 10 Mbps y el verde 100 Mbps). La instalación y configuración de una tarjeta de red depende del sistema operativo que tenga el equipo; todo esto se expone en el apartado correspondiente dentro del apéndice B. Sin embargo, el paso previo de apertura de la carcasa e introducción del adaptador en una ranura de expansión libre (ISA o PCI) es común en todos los casos. 3.7.3. Repetidores y amplificadores Cuando las distancias entre estaciones son muy elevadas y los efectos de la atenuación resultan intolerables, es necesario utilizar dispositivos que restauren la señal a su estado original y permitan que el receptor la recoja en condiciones. Estos dispositivos son los repetidores y los amplificadores. Los repetidores se utilizan en transmisión digital, mientras que los amplificadores, en analógica. Tanto unos como otros están formados por una conexión de entrada que recibe la señal como una conexión por donde sale la señal reconstruida. Los repetidores y amplificadores también están limitados en varios aspectos. En primer lugar, los tramos de cable que los separan tienen siempre una longitud máxima, ya que, si la señal les llega demasiado atenuada, no podrán reconstruirla correctamente. En segundo lugar, una señal no puede atravesar un número infinito de amplificadores, ya que se trata de dispositivos imperfectos que le dan a la señal pequeñas componentes de ruido. Estas componentes se multiplican conforme la señal RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 127 los va atravesando, hasta que ésta se deforma completamente. Esta característica afecta en menor grado a las señales digitales y a los repetidores. La figura 3.46 muestra un ejemplo gráfico de este hecho. Figura 3.46. Sucesivas amplificaciones de una señal. La señal original aparece a la izquierda, mientras que el resto de gráficas representan los sucesivos pasos de la señal por otros amplificadores intermedios. Obsérvese que las sucesivas amplificaciones distorsionan cada vez más la señal, hasta que llega el momento en el que ésta es muy diferente de la original. 3.7.4. Concentradores de cableado Una red local en bus utiliza solamente tarjetas de red en las estaciones y cableado coaxial para interconectarlas25 (además de los conectores). Sin embargo, este método complica el mantenimiento de la red, ya que, si falla algún enlace, toda la red deja de funcionar y el técnico deberá comprobar uno por uno todos los cables y todas las conexiones porque no se sabe de antemano cuál falló. Pisar un cable de red o tropezar con él puede poner “patas arriba” el departamento o la empresa entera. Para impedir estos problemas, determinadas redes locales utilizan concentradores de cableado, también llamados repetidores multipuerto, para realizar las conexiones de las estaciones. En vez de distribuir las conexiones, el concentrador las centraliza en un único dispositivo, manteniendo indicadores luminosos de su estado e impidiendo que una de ellas pueda hacer fallar toda la red. A un técnico encargado de una red de 300 estaciones se le simplificará mucho su trabajo utilizando este tipo de dispositivos. Un inconveniente que plantea el uso de concentradores es que, si éstos fallan, el funcionamiento de la red se verá comprometido. Existen dos tipos de concentradores de cableado: Concentradores pasivos: Actúan como un simple concentrador, cuya función principal consiste en interconectar toda la red. Concentradores activos: Además de su función básica de concentrador, también amplifican y regeneran las señales recibidas antes de ser enviadas. 25 Véase la conexión de una LAN mediante cableado coaxial en el apartado 3.4. 128 REDES DE ÁREA LOCAL RA-MA Los concentradores de cableado tienen dos tipos de conexiones: para las estaciones y para unirse a otros concentradores y así aumentar el tamaño de la red26. Cada estación se conecta directamente al concentrador por medio del cable correspondiente y, si ese enlace falla, la red sigue funcionando y sólo queda aislado el ordenador afectado. La topología de la red será en este caso de estrella, con el concentrador de cableado como centro de ella. A la topología formada por la distribución del cableado de la red se le llama topología física. La figura 3.47 muestra dos redes interconectadas mediante un latiguillo con topología física en estrella. Figura 3.47. Estructura básica de interconexión de una red utilizando concentradores de cableado. Cada uno de los concentradores genera una topología en estrella y, a su vez, se pueden conectar con otros para crecer. Figura 3.48. Topologías física y lógica de los concentradores. Vistos desde fuera, la red tiene siempre una topología física en estrella, pero, si se observan las conexiones internas de los concentradores, la red tiene una topología lógica diferente. 26 Hay que tener en cuenta que los concentradores de cableado tienen un número limitado de puertos a los que se conectan las estaciones, por lo que estará limitado en número las que pueden formar una red local. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 129 Los concentradores de cableado se clasifican dependiendo de la manera en que internamente realizan las conexiones y distribuyen los mensajes. A esta característica se le llama topología lógica; tenemos dos tipos principales (véase la figura 3.48): Concentradores con topología lógica en bus (HUB): Estos dispositivos hacen que la red se comporte como un bus, enviando las señales que les llegan por todas las salidas conectadas. Concentradores con topología lógica en anillo (MAU): Éstos, por su parte, se comportan como si la red fuera un anillo, enviando la señal que les llega por un puerto al siguiente. La conexión de un HUB con otro HUB se realiza a través de unos enlaces especiales denominados cruzados (que suelen corresponderse con el primer puerto o con el último, dependiendo del modelo y el fabricante). Normalmente se conecta ese puerto manteniendo activado un botón, denominado crossover (si es que dispone de él), con otro puerto normal del otro HUB (que no sea el primero o el último). En algunos casos, el puerto de cruce del HUB no dispone de ese botón y siempre está activo (es decir, no se puede utilizar para una conexión normal con las estaciones) y suele marcarse con el nombre uplink. Hay que tener en cuenta que, si se conectan dos HUB a través de los puertos de cruce activos, el enlace no es cruzado y, por lo tanto, no hay conexión (dos cruces en el mismo enlace forman una conexión normal). Las conexiones entre HUBs se pueden realizar de dos formas: en cascada o en estrella (figuras 3.49 y 3.50). Figura 3.49. Interconexión de varios HUBs en cascada. Esta configuración es muy simple, pero tiene el problema de que no permite más de cuatro concentradores si la red trabaja a 10 Mbps y dos si trabaja a 100 Mbps. Si se desean conectar algunos más, será necesario utilizar repetidores intermedios, aunque resulta más recomendable la interconexión en estrella. Además de los puertos de cruce, se pueden utilizar latiguillos cruzados para realizar conexiones entre concentradores. En este caso, es posible conectarlos a cualquiera de los puertos del HUB (que no sean cruzados, ya que formarían un enlace normal). En el apéndice A se explica cómo montar un latiguillo cruzado para conexiones de este tipo. 130 REDES DE ÁREA LOCAL RA-MA Figura 3.50. Interconexión de varios HUBs en estrella. Cada uno de ellos se conecta en el puerto 1 (cruzado) con el concentrador central. Los cables que los conectan son idénticos a los utilizados para las conexiones de las estaciones. Esta configuración permite conectar muchas más estaciones y sólo está limitada por el número de puertos del HUB central. La conexión de una MAU con otra se realiza a través de dos puertos especiales etiquetados RI y RO (entrada del anillo y salida del anillo, respectivamente). La entrada de una debe conectarse con la salida de la otra y la última, con la primera, como muestra la figura 3.51. Figura 3.51. Interconexión de varias MAU. Cada entrada debe conectarse con la salida y la última entrada, con la salida de la primera MAU. Al contrario que las conexiones entre HUBs, los enlaces que conectan las MAU son siempre paralelos (es decir, enlaces normales que también sirven para conectar estaciones). Sin embargo, los puertos de entrada y salida del anillo en estos dispositivos no se pueden utilizar para conectar estaciones. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 131 3.7.5. Redes troncales Una red troncal (también llamada backbone) es una red utilizada para interconectar otras redes, es decir, un medio que permite la comunicación de varias LAN o segmentos. Las redes troncales suelen ser de alta capacidad (como FDDI, que se verá en el apartado 3.8) y, como ha demostrado la experiencia, permite un mayor rendimiento de las conexiones LAN de una empresa. La opción de utilizar una única red de gran tamaño para interconectar todas las estaciones puede aumentar el coste y reducir la capacidad de transmisión. Para interconectar varios segmentos de red a un troncal, son necesarios dispositivos adicionales que permitan adaptar las diferentes señales, conectores, cableados, protocolos, etc., por lo que no se pueden utilizar dispositivos como repetidores o concentradores. Todos ellos se verán en el capítulo siguiente. 3.8. ESTÁNDARES En este apartado veremos algunos estándares a nivel físico que se utilizan con mayor frecuencia, entre ellos, la transmisión en módem, redes de área local y cableado. 3.8.1. Puertos de comunicaciones De los puertos de comunicaciones utilizados en un sistema informático, los más importantes son el puerto serie, el puerto paralelo, el puerto USB y el puerto FireWire. Existen varios estándares que definen la comunicación a través del puerto serie. La mayoría de ellos están enfocados a la utilización de un dispositivo módem, por lo que su exposición aparece en el apartado siguiente. Por su parte, la tabla 3.4 muestra la especificación del puerto paralelo, con la utilidad de cada uno de los pines. Además, se indica cómo montar un cable cruzado paralelo para utilizarlo con los programas de comunicación INTERLINK y Conexión directa por cable de Microsoft Windows. En cuanto al puerto USB, hay que indicar que, al igual que el puerto serie, transmite los datos en serie, es decir, un bit a continuación del otro. A diferencia del puerto serie, es capaz de transmitir a una velocidad muy alta (hasta 480 Mbps en la especificación 2.0), dispone de pines para alimentar los dispositivos conectados (de forma que no es necesario conectarlos a la red eléctrica) y pueden conectarse muchos dispositivos utilizando concentradores USB (que amplían el número de puertos). También es posible utilizar un cable cruzado USB para intercambiar información entre dos equipos, pero en este caso es necesario adquirir este cable ya que incluye componentes electrónicos adicionales para controlar la comunicación. La tabla 3.5 especifica los pines utilizados en estos conectores. RA-MA 132 REDES DE ÁREA LOCAL Tabla 3.4. Definición del puerto paralelo y cable cruzado Pin N.° Descripción 1 Datos válidos para leer en 2-9 2 Bit 0 de datos 3 Bit 1 de datos 4 Bit 2 de datos 5 Bit 3 de datos 6 Bit 4 de datos 7 Bit 5 de datos 8 Bit 6 de datos 9 Bit 7 de datos 10 Recepción correcta de datos 11 Impresora ocupada 12 Impresora sin papel 13 Impresora en línea 14 Alimentar con papel 15 Fallo de impresora 16 Inicializa la impresora 17 Selección de entrada 18-25 Masa Cable cruzado No conectado 15 13 12 10 11 No conectado No conectado No conectado 5 6 4 3 No conectado 2 No conectado 19 Mismo orden Tabla 3.5. Especificación del puerto USB Pin N.° 1 2 3 4 Descripción Alimentación +5 V Masa Datos Datos Masa global Color del cable Rojo Blanco Verde Negro Figura 3.52. Conectores FireWire 1394 de 6 pines. A diferencia del conector de 4 pines, el que muestra la figura dispone de alimentación de corriente para el dispositivo conectado. Por otro lado, se puede observar que se utilizan dos pares distintos, uno para enviar y otro para recibir, y éstos suelen ir soldados a un cable trenzado para reducir interferencias. Finalmente, el puerto FireWire ha sido definido por Apple Computer con el propósito de ofrecer un estándar de transmisión serie que permita una mayor velocidad de transmisión que USB. El puerto FireWire está basado en la especificación IEEE RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 133 1394 y los conectores empleados pueden ser de dos tipos: de 4 pines (sin alimentación) o de 6 pines (con la alimentación incluida), como se muestra en la figura 3.52. 3.8.2. Normalización de módem Para la transmisión de la información a través del módem, existe gran cantidad de estándares, debido a los avances que han permitido el aumento en la velocidad de transmisión. Tenemos dos tipos de estándares: los que se refieren a la comunicación entre el ordenador y el módem (normalmente a través del puerto serie), denominada interfaz módem-terminal, y los que especifican el tipo de comunicación entre dos módem a través de la red telefónica u otro tipo de red de área extendida. Para la interfaz módem-terminal coexisten en la actualidad los siguientes estándares: Norma V.24 (RS-232): Esta recomendación indica el protocolo de conexión módem-terminal. Por lo tanto, define cuáles son las señales que circulan por cada uno de los conectores, a saber: conectores para envío y recepción de datos, conectores para el envío y recepción de información de control de la comunicación, además de una masa común. La figura 3.53 resume las características más importantes de esta norma. Norma V.25 (RS-366A): Esta norma es igual que la norma RS-232, salvo que incluye la utilidad de autollamada en módem. Norma V.28 (RS-232): Esta recomendación dicta las características eléctricas que deben existir entre el módem y el ordenador. Éstas son: Un “0” se enviará con una tensión de +15V. Un “1” se enviará con una tensión de –15V. Una tensión recibida entre +3 y +25V se interpretará como un “0”. Una tensión recibida entre –3 y –25V se interpretará como un “1”. Norma V.42: Define los métodos de detección y corrección de errores. Está basado en los protocolos MNP (Microcom Network Protocol o Protocolo de Red de Microcom) definidos por la empresa Microcom. Norma V.42 bis: Establece un sistema de compresión y descompresión de la información, que también está basado en las especificaciones MNP. Norma ISO 2110 (RS-232): Define el conector utilizado para la comunicación módem-terminal, que será el puerto serie ya estandarizado RS-232 de 25 pines (llamado DB-25). También se puede utilizar en conector serie de 9 pines, denominado DB-9, gracias a un adaptador. 134 REDES DE ÁREA LOCAL RA-MA Norma ISO 4902 (RS-449A): La norma RS-449A permite la comunicación directa entre dos ordenadores (si es que ambos la cumplen) sin utilizar módem. Utiliza un conector de 37 patillas y, básicamente, esta norma define tres interfaces diferentes: • Norma RS-449: Define los procedimientos, mecanismos y funcionalidad del interfaz. • Norma RS-423: Define la interfaz eléctrica y utiliza una tierra común para todas las señales transmitidas (al igual que RS-232), lo que hace que la velocidad de transmisión no sea alta ni se permitan cables largos. • Norma RS-422: Define también otra interfaz eléctrica, pero esta vez utilizando dos hilos para cada señal transmitida, con lo que se consiguen velocidades de hasta 2 Mbps y longitudes de cable de hasta 60 metros. Norma X.21: Esta norma define también la interfaz de comunicación entre el módem y el ordenador, pero en este caso utiliza un conector de 15 pines (llamado DB-15; no confundir con el conector AUI de 15 pines utilizado por las tarjetas de red en conexiones de coaxial grueso), de los cuales sólo se usan 8. Sin embargo, la diferencia fundamental de X.21 con la norma RS-232 es que, mientras que la norma RS-232 utiliza una transmisión analógica entre el módem y la estación, la norma X.21 define sus propias señales en transmisión digital. Figura 3.53. Definición de las conexiones en la norma RS-232. Las ilustraciones de la parte superior especifican para qué se utilizan las conexiones en las dos variantes del puerto serie: la de 9 pines y la de 25 pines. La ilustración de la parte superior especifica cómo montar un cable de módem nulo para conectar dos ordenadores directamente. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 135 Todas las normas expuestas se basan en la utilización de módem externos (conectados a través de los puertos serie o paralelo). Sin embargo, con la aparición del módem interno (conectado a ranuras de expansión) ha sido necesaria la emulación de puertos para permitir el uso de estas normas. Para la transmisión de señales a través de la red telefónica básica (módem a módem), se usan los expuestos en la tabla 3.6. Muchos de ellos se encuentran en desuso hoy en día (sobre todo los que ofrecen una velocidad de transmisión menor), aunque el diseño de estándares posteriores (V90, V92, etc.) ha permitido la compatibilidad hacia atrás. Tabla 3.6. Estándares de la serie V para transmisión con módem Norma V21 V22 V22 bis V23 V26 V26 bis V26 ter V27 V27 bis V27 ter V29 Velocidad 300 bps 600-1.200 bps 600-2.400 bps 600-1.200 bps 75-1.200 bps 1.200-2.400 bps 1.200-2.400 bps 4.800 bps 2.400-4.800 bps 2.400-4.800 bps 7.200-9.600 bps Modulación Frecuencia Frecuencia Amplitud Frecuencia Fase Fase Fase Fase Fase Fase Amplitud/ Frecuencia V32 4.800-9.600 bps QAM (4 bits/baudio) V32 bis 4.800-14.400 bps Multibit (6 bits/baudio) V34 2.400-33.600 bps V90 56.600 bps V92 64.000 bps Observaciones No se usa. Usada en Europa. Para enlaces punto a punto de 4 hilos. Ha sido muy utilizada para RTC. Para enlaces punto a punto de 4 hilos. Utilizada en la norma V29. Para RTC. Para comunicaciones por fax en enlaces punto a punto de 4 hilos. Incluye corrección de errores y negociación en la comunicación. Para RTC. Incluye negociación: transmite en RTC con V32 si la línea no permite velocidad máxima. Originalmente a 28.800 bps. Se usa en RTC. 56.600 bps de la estación remota al cliente y V34 desde el cliente. Para RTC. En fase de implantación para RTC. 3.8.3. Redes ARCnet ARCnet (Attached Resource Computer Net) es una red de bajo coste y fácil instalación, que permite diferentes configuraciones topológicas para adaptarse más fácilmente a la disposición de las estaciones dentro de los departamentos de la empresa. Su velocidad de transferencia es de 2,5 Mbps, aunque en 1993 se desarrolló una versión que alcanzaba velocidades de hasta 20 Mbps. Utiliza normalmente cable coaxial RG-62 de 93 W, aunque también puede usar cable de par trenzado. ARCnet puede adoptar topología física en estrella, bus, árbol o estrella distribuida. Para ello, utiliza diversos componentes: 136 REDES DE ÁREA LOCAL RA-MA • Concentradores activos: Funcionan como un HUB, pero también amplifican la señal como un repetidor. Pueden tener de 8 a 64 puertos y forman una topología física en estrella. • Concentradores pasivos: Éstos no amplifican la señal (la envían tal y como la reciben) y se utilizan para configurar la red como una topología física en árbol. Tienen cuatro puertos y los que no se conectan deben rematarse con un terminador de 93 ohmios. Figura 3.54. Ejemplo de conexión de LAN ARCnet. Los pequeños cuadros situados en los puertos libres de los HUB pasivos son terminadores de 93 ohmios. Las conexiones a concentradores pasivos pueden tener, como máximo, 30 m de longitud. Las conexiones entre concentradores activos o con estaciones pueden tener hasta 600 m de longitud. Las estaciones se pueden conectar a puertos de los concentradores activos y de los pasivos, y los concentradores pasivos sólo pueden conectarse entre los activos y/o estaciones. No se permite conectar dos concentradores activos a través de un concentrador pasivo o conectar varios concentradores pasivos en cascada ya que, como no amplifican la señal, ésta se ve muy degradada. Las redes ARCnet han tenido gran importancia dentro del mercado empresarial, aunque es cierto que hoy en día han desaparecido prácticamente, debido a su sustitución por otros estándares más actuales que ofrecen mejores prestaciones, sobre todo en lo que respecta a velocidad de transmisión. Sin embargo, si se ha incluido en este libro, ha sido con el propósito de ofrecer una visión más amplia en lo que se refiere a configuraciones de cableado en redes de área local. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 137 Figura 3.55. Ejemplo de configuración no permitida en ARCnet. No pueden conectarse HUBs pasivos entre dos o más HUBs activos. Tampoco pueden conectarse HUBs pasivos en serie. 3.8.4. Redes Ethernet (IEEE 802.3) El primer estándar de Ethernet fue diseñado en 1976 por Xerox y, posteriormente, revisado por Intel, DEC y Xerox, permitiendo una velocidad de transmisión de 10 Mbps. Más adelante se adaptó para ser compatible con el estándar IEEE 802.3. Tabla 3.7. Distintas configuraciones de Ethernet Cableado Coaxial delgado Coaxial grueso Par trenzado Fibra óptica 10 Mbps (Ethernet) Velocidad de transmisión 100 Mbps (Fast Ethernet) _ 1 Gbps (Gigabit Ethernet) _ _ _ 100BASE-T. Topología en estrella física y bus lógico. 100BASE-F. Topología en estrella física y bus lógico. 1000BASE-T. Topología en estrella física y bus lógico. 1000BASE-F. Topología en estrella física y bus lógico. 10BASE-2. Topología en bus. 10BASE-5. Topología en bus. 10BASE-T. Topología en estrella física y bus lógico. 10BASE-F. Topología en estrella física y bus lógico. 138 REDES DE ÁREA LOCAL RA-MA IEEE 802.3 es un estándar que define una familia completa de configuraciones, abarcando diferentes velocidades, topologías y cableado. La tabla 3.7 resume las posibles configuraciones establecidas por el estándar y la nomenclatura utilizada para nombrarlas. Para las redes Ethernet 100BASE-T existen dos configuraciones: 100BASE-T4: Utiliza cable UTP categoría 3 o superior y usa cuatro pares trenzados para la transmisión y recepción de la información. 100BASE-TX: Utiliza par trenzado categoría 5 o superior y sólo necesita dos pares trenzados para la transmisión y recepción (ya que el conductor es de mayor calidad). En algunas organizaciones, los otros dos pares libres del cableado se utilizan para la transmisión de otra estación diferente, conectada a la misma roseta de pared. Además de todas las configuraciones expuestas para transmisión en banda base (por eso se incluye la palabra “BASE” en esas versiones), el estándar IEEE 802.3 también define las redes con transmisión en banda ancha, denominadas 10BROAD36, formadas por cable coaxial RG-59 que soporta longitudes máximas de 3.600 metros en los latiguillos. También se debe mencionar que para las configuraciones en fibra óptica Gigabit Ethernet (1000BASE-F) existen dos versiones: 1000BASE-SX, que utiliza fibra monomodo y 1000BASE-LX, que funciona con fibras multimodo. Los concentradores de cableado que se pueden utilizar en par trenzado y fibra óptica son: simples, que trabajan con velocidades de transmisión fijas (10 Mbps o 100 Mbps) y duales, que permiten trabajar con los dos tipos de conexiones a la vez (10 Mbps y 100 Mbps). En el segundo caso, esos concentradores indican la velocidad que se está utilizando (dependiendo del adaptador instalado en cada estación) mediante un indicador luminoso por puerto. Los concentradores duales permiten una migración más progresiva desde Ethernet a Fast Ethernet. 3.8.5. Redes Token Ring (IEEE 802.5) Token Ring es otro popular método para conectar redes locales, aunque su uso se está reduciendo en estos últimos años en favor del estándar Ethernet. Su principal característica es que, aunque utiliza una topología física en forma de estrella, ésta funciona como una estructura lógica en anillo. Esto se consigue gracias a la utilización de un concentrador de cableado llamado MAU (Unidad de Acceso Multiestación) como nodo central de la estrella. Las redes Token Ring pueden utilizar cualquiera de los tipos de cableado expuestos en la tabla 3.8, con conectores RJ-11 o RJ-45. La velocidad máxima de transmisión oscila entre los 4 y los 16 Mbps. La distancia máxima que puede existir entre las MAU y de éstas a las estaciones puede ser de 120 a 150 m, aunque pueden aumentarse utilizando repetidores específicos para estas redes, como muestra la figura 3.56. Para aumentar la longitud de las conexiones entre estaciones y MAU, se utilizan unos dispositivos especiales denominados repetidores de lóbulo, que tienen características distintas a los repetidores Token Ring que conectan las MAU. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 139 Tabla 3.8. Tipos de cable permitidos en configuraciones Token Ring Tipo de cable 1 2 3 5 6 8 9 Características Par trenzado apantallado de 2 hilos. Par trenzado apantallado de 2 hilos para datos y 4 para voz. Par trenzado sin apantallar de 4 hilos. Fibra óptica de 100 ó 140 µm de 2 hilos. Par trenzado apantallado flexible, para usar como latiguillo en las conexiones entre las estaciones y los enchufes de pared. Par trenzado apantallado; uso bajo moqueta o suelo técnico. Par trenzado apantallado antiincendio. Figura 3.56. Uso de repetidores en una red Token Ring. Para realizar las conexiones, es necesario colocar dos repetidores en los extremos de los cables de mayor longitud; para esos enlaces, la longitud máxima del cable puede ser de 300 m. 3.8.6. 100VG-AnyLAN Este estándar para redes locales está basado en las especificaciones a nivel físico y nivel de enlace de datos inicialmente definidas por AT&T y Hewlett-Packard, aunque posteriormente se establecieron en la norma IEEE 802.12. 100VG-AnyLAN utiliza la topología física en estrella y lógica en bus con concentradores de cableado, al igual que las redes Ethernet 10BASE-T y 100BASE-T y la velocidad de transmisión es de 100 Mbps. Sin embargo, las características que diferencian de este tipo de red local con Ethernet son: Utiliza concentradores de cableado específicos. Se pueden montar tres niveles en cascada de concentradores. 140 REDES DE ÁREA LOCAL RA-MA Las longitudes de los cables son mayores: 100 metros para cables de categoría 3 y 150 metros para cable de categoría 5. Cada puerto del contentrador puede configurarse para recibir solamente datos que van hacia la estación que está conectada a éste o para recibir todos los datos enviados por todas las estaciones. El primer modo de funcionamiento es parecido a los dispositivos conmutadores (véase el capítulo 4, apartado 4.6.2). Gestiona el acceso al medio mediante un protocolo más eficiente, llamado prioridad de petición (véase el capítulo 4, apartado 4.5.1, para más información). 3.8.7. FDDI La red FDDI (Fiber Distributed Data Interface o Interfaz de Datos Distribuida por Fibra) fue diseñada con el propósito de obtener una red de alta velocidad, alta capacidad y gran fiabilidad. Así, es capaz de transferir información entre 50 y 100 Mbps y permite la conexión de hasta 1.000 estaciones. Figura 3.57. Topología lógica de la red FDDI. Está formada por dos anillos de fibra que transportan la información en direcciones opuestas. En este ejemplo, todas las estaciones tienen conexión con los dos anillos lógicos, situación que no suele producirse en la mayoría de configuraciones reales. FDDI utiliza fibras multimodo para los enlaces, además de concentradores de cableado, lo que le confiere una topología física en estrella. La fiabilidad de la tecnología de fibra le da a esta red una tasa de fallos inferior a un dígito binario por cada 10.000 millones. Otra característica que hace de FDDI muy fiable es su topología lógica en forma de doble anillo, donde la información gira en direcciones opuestas. Si RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 141 alguna de las estaciones falla o se rompe el cable en algún punto (rompiendo los dos anillos), es posible unirlos formando un solo anillo de doble longitud y la red continuará funcionando. Cada estación dispone de un mecanismo para unir los dos anillos o saltar esa estación si no funciona. Así mismo, los concentradores de cableado para FDDI también están diseñados para permitir el puenteo automático de estaciones averiadas y facilitar la localización de fallos. A los anillos de la red se les llama anillo primario y anillo secundario. También existen dos clases de estaciones: las de clase A (también llamadas DAS, Dual Attach Station o Estación de Doble Enlace), conectadas al anillo primario y al secundario, y las de clase B (SAS, Single Attach Station o Estación de Enlace Simple), solamente conectadas al anillo primario. Si se produce un fallo, son las estaciones de clase A (DAS) las que reconfiguran el anillo, y alguna de las estaciones de clase B puede quedar aislada. Esta desventaja se compensa con el hecho de que las estaciones de clase B sólo tienen una conexión a la red y, por lo tanto, los costes se reducen. Será responsabilidad del administrador de la red establecer qué estaciones son más importantes y deben conectarse a los dos anillos. Figura 3.58. Topología física y lógica de FDDI. La topología física es híbrida entre estrella y anillo. Si todas las estaciones son de clase B, entonces la topología física será en estrella; si sólo hay estaciones de clase A, entonces será en anillo. Figura obtenida de [RAL97]. 142 REDES DE ÁREA LOCAL RA-MA Una red FDDI se monta normalmente a través de concentradores de cableado específicos que llevan conexiones para latiguillos de fibra con conectores MIC en los extremos. La figura 3.58 muestra cómo se conectan las estaciones a un concentrador. Nótese que este dispositivo dispone de puertos para conectar estaciones de clase A y de clase B. Dependiendo del fabricante, en algunos concentradores es posible configurar cada puerto mediante programas para indicar que se va a conectar una estación de clase A o B, y así se puede especificar cuál es su topología lógica interna. Por su parte, las estaciones de clase A llevan dos conectores MIC, mientras que las de clase B llevan uno solo. Por esa razón, las estaciones de clase B son menos costosas de instalar, ya que necesitan menos cableado y conectores y las tarjetas también son más baratas (tienen solamente una conexión a la red y no necesitan de circuitería que configure automáticamente enlaces; resultan de esta forma menos costosas). Figura 3.59. Fallo en FDDI. Cuando se rompe un enlace, las estaciones de clase A unen los dos anillos para formar uno solo. Esta reconfiguración puede hacer que una estación de clase B quede aislada de la red, normalmente las situadas entre dos estaciones de clase A. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 143 Cuando se produce la rotura de alguno de los cables, las tarjetas de red de las estaciones DAS pueden reconfigurar las conexiones de forma automática y seguir funcionando. A partir de ese momento, la topología lógica de FDDI se convierte en un anillo simple (véase la figura 3.59). Este tipo de reconfiguraciones también se produce cuando alguna de las estaciones se apaga, debido a que su adaptador de red deja de funcionar y, por lo tanto, la señal óptica no puede circular a través de ella (recuérdese que en cada estación se produce una conversión de señal óptica a eléctrica y al revés). Figura 3.60. Conectores MIC en FDDI. Estos conectores suelen ir soldados de fábrica a los extremos de los cables, lo que permite una instalación sencilla. En otros casos, es necesario engastarlos al cable mediante dispositivos especiales. La figura 3.61 muestra gráficamente los dos tipos de estaciones en FDDI además de la estructura lógica interna de un concentrador de cableado típico. Las estaciones de clase A (DAS) poseen dos conexiones MIC de tipo A y B, mientras que las estaciones de clase B (SAS) poseen una conexión de clase S. Por su parte, el concentrador dispone de conexiones para estaciones de clase B (etiquetadas M) y conexiones para estaciones de clase A, etiquetadas A y B. Todos estos tipos de puertos realizan un puenteo automático (es decir, la unión del cable emisor con el receptor del mismo puerto) en caso de que la estación conectada a éste falle, se encuentre apagada o no exista (no hay nada conectado a ese puerto). La figura 3.62 muestra una red FDDI típica en sus topologías física y lógica. La figura 3.63 muestra la misma red que la figura anterior, pero en este caso solamente se representa la topología física. Figura 3.61. Estaciones y concentradores en FDDI. Aquí aparece la estructura lógica interna de las estaciones además de la topología lógica interna del concentrador de cableado utilizado en estas configuraciones. Esta última es parecida a la estructura interna de una MAU, aunque en este caso su circuitería interna debe generar un doble anillo lógico. 144 REDES DE ÁREA LOCAL RA-MA Figura 3.62. Montaje y estructura lógica de una LAN FDDI. Las estaciones SAS se conectan directamente al concentrador, mientras que las DAS se conectan además a otras estaciones DAS. Todos los puertos del concentrador (A, B y M) y los puertos de las estaciones de clase A (puertos A y B) utilizan un mecanismo que realiza la unión automática de la fibra en caso de que esa conexión no se haya establecido, la estación se haya apagado o exista un fallo en algún enlace (como los puertos M del concentrador que no han sido conectados). Figura 3.63. Topología física de una red FDDI. Esta figura representa las conexiones físicas equivalentes a la figura 3.62, sólo que ahora cada uno de los enlaces (latiguillos) está formado por dos pares de fibra. Aunque se ha supuesto que los puertos 1 y 6 del concentrador se deberían utilizar para conectar estaciones de clase A, muchos otros permiten la configuración por programa de cada puerto, indicando si conectará estaciones de clase A o B. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 145 Normalmente, los puertos de tipo A se conectan con puertos de tipo B y los puertos de tipo M, con los de tipo S. Sin embargo, FDDI permite conexiones entre cualquier tipo de puerto, como aparece en el ejemplo de la figura 3.64. Nótese que todos los puertos que no se conectan se puentean de forma automática, aunque en todas las figuras se ha dibujado un arco de unión para poner de manifiesto la topología lógica generada. Figura 3.64. Ejemplo de topología FDDI. Para obtener esta configuración, se permite que un puerto de tipo M se conecte a otro de tipo B (o A). Hay que tener en cuenta que esta topología lógica es equivalente a conectar el puerto A del primer concentrador con el puerto B del segundo y la estación de clase A de la derecha, con el puerto A del segundo concentrador. Algunos fabricantes de concentradores para FDDI permiten la configuración por parte del administrador de la red de sus puertos. Esto ofrece una gran flexibilidad a la hora de especificar si a cada puerto se conectan estaciones de clase A o B y de este modo configurar la topología lógica interna del concentrador. Aun así, en todas las figuras se ha supuesto que las estaciones de clase A se deberían conectar a los puertos 1 y 6. Esta configuración puede realizarse accediendo al programa de gestión del dispositivo a través de una sesión Telnet por la red o por una conexión serie. Antes de pasar al siguiente apartado, se debe indicar que existe un estándar prácticamente idéntico a FDDI llamado CDDI (Copper Distributed Data Interface o Interfaz de Datos Distribuido por Cobre) o TPDDI (Twisted Pair Distributed Data Interface o Interfaz de Datos Distribuido por Par Trenzado) que se diferencia del anterior en que utiliza cable de cobre en vez de fibra óptica, aunque la topología, configuración y formatos de bloques de información que transmite son iguales. 146 REDES DE ÁREA LOCAL RA-MA 3.8.8. Redes inalámbricas (IEEE 802.11) Las redes inalámbricas que siguen el estándar IEEE 802.11 transmiten datos a través de ondas de radio o infrarrojos a una velocidad máxima de 1,5 Mbps. Existe una versión mejorada, conocida como el estándar IEEE 802.11b, que es capaz de transmitir información a una velocidad de 11 Mbps, utilizando microondas. Este tipo de redes se clasifica como LAN, ya que habitualmente se instala dentro del ámbito de un edificio. Su topología está distribuida en emisores y receptores de ondas que están conectados entre sí y dispersados por toda la organización. De esta forma, cualquier equipo que disponga también de un emisor y receptor de microondas estará permanentemente conectado en cualquier lugar, sin necesidad de utilizar cables. 3.8.9. RDSI de banda estrecha El estándar RDSI (Red Digital de Servicios Integrados o ISDN, Integrated Services Digital Network) está diseñado como una red de área extensa cuya transmisión es digital extremo a extremo (es decir, durante todo el trayecto la información siempre es digital27). El objetivo fundamental de esta red es integrar en una sola tecnología todos los servicios que demanda el usuario: transmisión de voz analógica, datos digitales, vídeo, fax, etc. Puesto que RDSI va a transmitir diferentes tipos de información, el comité encargado de definir el estándar decidió definir distintos canales independientes por los que circularía cada tipo de información. Estos canales no son físicos, sino que se multiplexan para ser transmitidos por un único medio. Además, RDSI utiliza algunos de esos canales para transportar información de control de la comunicación, característica que no se da en otros sistemas de transmisión. La división en diferentes canales lógicos permite también que los usuarios puedan contratar diferentes velocidades y capacidades de transmisión según sus necesidades; si se contratan más canales, se puede conseguir una velocidad de transmisión mayor. Por ejemplo, un usuario particular preferirá contratar un servicio básico que le permita una velocidad considerable a un coste inferior; en una empresa, donde existen gran cantidad de dispositivos de comunicación y se espera un caudal mayor, se pueden contratar más canales para conseguir mayor capacidad, aunque con un coste más elevado. Cuando la compañía telefónica instala el acceso RDSI a un cliente, ésta coloca un dispositivo, llamado NT1 (o TR1), en la vivienda o local de él, y lo conecta con la centralita local, usando un cable de par trenzado. En la caja NT1 es donde parten los enlaces con las tomas de pared (el NT1 soporta hasta ocho tomas en paralelo) y a estas últimas se conectan los terminales RDSI (teléfonos, faxes, módem, etc.). Las conexiones del NT1 con las tomas de pared son de 4 hilos (dos pares trenzados), 27 Aunque ésta es la definición de RDSI, muchas compañías telefónicas utilizan temporalmente enlaces analógicos para transportar señales digitales, ya que la implantación de esta tecnología suele ser progresiva. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 147 mientras que las conexiones entre las tomas de pared y los terminales RDSI se realizan con latiguillos de 8 hilos. La figura 3.65 muestra esta estructura de conexión y la tabla 3.9 especifica los pines empleados en los latiguillos que unen los terminales con las tomas de pared. Figura 3.65. Conexión física RDSI entre el cliente y la centralita local. Este ejemplo de conexión se realiza para usuarios que no van a utilizar más de ocho dispositivos para transmisión. Para usuarios y empresas que demandan más capacidad, la configuración de conexión anterior se queda pequeña en cuanto a número de dispositivos en uso. Así, la compañía telefónica instala al usuario un dispositivo adicional, llamado NT2 (o TR2), conectado al NT1, que permite manejar más comunicaciones simultáneas. Estas conexiones se realizan en tomas independientes (utilizando también cableado de 4 hilos con las tomas de pared) y no es posible sacar varias conexiones de una misma toma de NT1. La figura 3.66 muestra esta configuración y la tabla 3.9 muestra los pines de las conexiones con los terminales. Figura 3.66. Conexión física RDSI para empresa. Aquí se permite una mayor cantidad de conexiones simultáneas (a través del punto S). Cuando el usuario contrata una conexión RDSI, por esa línea ya no se podrá utilizar terminales analógicos (ni teléfonos convencionales, ni módem, ni faxes, etc.), sino que deberá instalarse terminales digitales específicos para RDSI. Sin embargo, el cliente tiene la posibilidad de realizar esta migración de una manera progresiva, ya que tiene la opción de instalar un dispositivo llamado TA (Terminal Adapter o adaptador de terminal) que permite la conexión de equipos de transmisión analógicos. Este elemento convierte las señales analógicas que utiliza el terminal en señales digitales que son transmitidas por la línea. RA-MA 148 REDES DE ÁREA LOCAL Tabla 3.9. Especificación de conectores para terminales RDSI Pin N° 1 2 3 4 5 6 7 8 Uso Alimentación +3 V Alimentación –3 V Señal de transmisión Señal de recepción Masa de recepción Masa de transmisión Sincronismo –2 V Sincronismo –3 V Los conectores utilizados en los latiguillos que enlazan los terminales RDSI con las tomas de pared son muy parecidos a los conectores RJ-45, ya que disponen del mismo número de pines y su forma es similar. Sin embargo, su tamaño es ligeramente menor y no dispone de carcasa metálica (utilizada para la pantalla global en las tomas de red). En una conexión de cliente RDSI existen cuatro puntos de referencia básicos a tener en cuenta (véanse las figuras 3.65 y 3.66): U: Es la conexión entre la centralita local RDSI de la compañía telefónica y el NT1. Puede ser un par trenzado de cobre de dos hilos o fibra óptica. T: Es la conexión básica de RDSI que soporta la conexión simultánea de hasta ocho dispositivos digitales. S: Es el punto donde se conectan los terminales digitales específicos de RDSI, con capacidad para más de ocho. R: Es el punto donde se conectan los terminales que no son RDSI (analógicos convencionales). En RDSI se han estandarizado varios tipos de canales lógicos, cada uno de los cuales transmite un determinado tipo de información: ⌦ A: Canal analógico para transmisión de voz a 4 kHz. ⌦ B: Canal digital modulado en PCM28 de 64 kbps para voz o datos29. ⌦ C: Canal digital de 8 ó 16 kbps. 28 La modulación PCM (Modulación por Impulsos Codificados) consiste en transformar una señal analógica en otra digital convirtiendo los valores de tensión en números digitales en binario. 29 Algunas tarjetas RDSI permiten utilizar a la vez varios canales B para aumentar la velocidad de transmisión de datos. Esta configuración puede realizarse a través del driver de ella. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 149 ⌦ D: Canal digital de 16 kbps para señalización (información de control). ⌦ E: Canal digital de 64 kbps para señalización de RDSI interna. ⌦ H: Canal digital de 384, 1.536 ó 1.920 kbps. El abonado puede disponer de varios de estos canales para su conexión, pero, según el estándar, no se permite que éste decida una combinación arbitraria de canales, y sólo se permiten las siguientes: Acceso básico: dos canales B más un canal D. Acceso primario: 30 canales B más uno D30. Acceso híbrido: Un canal A y un canal C. Cuando un usuario dispone de un acceso básico a la RDSI, puede utilizar un canal para la conexión del teléfono y otro para la conexión del ordenador. Sin embargo, el módem RDSI puede configurarse para que utilice los dos canales B simultáneamente, con lo que se puede conseguir una velocidad de transmisión de hasta 128 kbps. En caso de que el módem detecte una llamada entrante, puede pasar a trabajar con un solo canal B, dejando el otro libre para que el usuario pueda contestar. En una red RDSI, las direcciones de los abonados se especifican como números decimales de 15 dígitos, diferentes de los empleados en la red telefónica convencional (que emplea números decimales de 11 dígitos). 3.9. EJERCICIOS 3.1. Un medio de transmisión de cobre tiene un ancho de banda de 10 MHz. ¿Cuántos bits/s se pueden enviar si se utilizan señales digitales de cuatro niveles? Supón que se trata de un canal ideal exento de ruido. 3.2. Si se envía una señal binaria por un canal de 3 kHz de ancho de banda cuya relación señal/ruido es de 2 dB, ¿cuál es la velocidad teórica máxima de transmisión de datos que se puede obtener? 3.3. Una compañía de comunicaciones desea realizar un estudio de requerimientos de una red de comunicación que transmita películas de vídeo bajo la modalidad de pago por visión. Estas películas se enviarán a los abonados como una secuencia de 24 fotogramas por segundo codificados en binario. Cada fotograma es una imagen estática de 800 puntos de anchura por 600 puntos de altura, y cada uno de esos puntos codifica el color como un número de 16 bits. Se desea obtener la velocidad de transmisión sostenida que debe soportar esa red de comunicación para que pueda cumplir con esos requerimientos. 30 Para Estados Unidos y Japón, esta combinación es de 23B + 1D. RA-MA 150 REDES DE ÁREA LOCAL 3.4. Representa gráficamente la transmisión de la siguiente secuencia en binario utilizando los códigos NRZ, NRZ-M, RZ, Bifase y Miller: 100110001010111001 3.5. Representa gráficamente cómo se transmitiría la secuencia 1001011101101 utilizando modulación con portadora analógica en amplitud (ASK), frecuencia (FSK) y fase (PSK). 3.6. Supongamos que disponemos de un sistema de comunicación digital formado por cableado y repetidores. Sabemos que por las características del cable, la señal enviada se atenúa un 15% por cada km de cable (se considera una atenuación lineal). El emisor envía una tensión de +5 V cuando quiere representar un “1” y 0 V cuando quiere representar un “0”, mientras que el receptor interpreta un “1” si el voltaje está comprendido entre 4 V y 6 V y un “0” si el rango está entre 1 V y -1 V. Además, se ha comprobado que no es posible utilizar más de cuatro repetidores porque la señal digital queda demasiado distorsionada. ¿Cuál es la distancia máxima a la que podemos comunicar dos estaciones con este sistema? 3.7. Supongamos que la relación señal/ruido de un sistema es de 1,5 dB. Este equipo transmite utilizando una señal de 5 V de amplitud. ¿Cuál es el valor de amplitud máximo del ruido? 3.8. ¿Influye en la velocidad de transmisión la longitud del cable? ¿Por qué razones? 3.9. Supongamos que deseamos instalar una LAN en un edificio para interconectar 20 ordenadores que se encuentran aislados. Indica la cantidad de fragmentos de cable, conectores, tarjetas de red y otros dispositivos de interconexión que son necesarios. Supondremos que sólo disponemos de concentradores de cableado de ocho puertos y que los ordenadores están distribuidos en dos departamentos (10 por cada uno). Los estándares que se seguirán son: a) b) c) d) Fast Ethernet. IEEE 802.5. ARCnet. FDDI: 10 estaciones serán de clase A y las otras 10 de clase B. 3.10. Supongamos que ahora debemos interconectar 30 ordenadores para formar una red. Indica gráficamente las topologías lógicas si solamente diponemos de concentradores de cableado de ocho puertos (debe utilizarse el menor número de ellos). Los estándares que se seguirán son: a) Fast Ethernet 100BaseT4. b) Gigabit Ethernet 1000BaseLX. c) 100VG-AnyLAN. RA-MA CAPÍTULO 3: ASPECTOS FÍSICOS DE LA TRANSMISIÓN DE DATOS 151 3.11. Indica gráficamente cómo se conectan a los anillos lógicos 10 estaciones utilizando la configuración FDDI. Suponemos que seis estaciones son de clase A y el resto, de clase B. ¿Cuál es la disposición óptima de las estaciones para reducir al mínimo el número de éstas que pueden quedar aisladas en caso de corte de la fibra? Representa esa misma conexión desde el punto de vista lógico, es decir, utilizando concentradores de cableado para FDDI. 3.10. BIBLIOGRAFÍA Libros en castellano: [ATM00] Redes ATM: Principios de interconexión y su aplicación L. Guijarro Ra-Ma, 2000 [RAL97] Redes de área local Greg Nunemacher Paraninfo, 1997 [RDC97] Redes de computadoras Andrew S. Tanenbaum Prentice-Hall, 1997, 3.ª ed. [RED01] Redes Locales José Luis Raya y Cristina Raya Ra-Ma, 2001 Páginas de Internet: [CYBENET] Apuntes y trabajos de temas de informática en general Varios autores http://www.cybercursos.net/ [IEEORG] Estándares IEEE 802 Varios autores (en inglés) http://standards.ieee.org/getieee802/portfolio.htm [IETORG] Documentos RFC Varios autores (en inglés) http://ietf.org/rfc.html [IPHCOM] Guías de usuario de adaptadores y concentradores FDDI Varios autores (en inglés) Interphase Corp. http://iphase.com/service/documents.cfm/6 152 REDES DE ÁREA LOCAL RA-MA [NULCOM] Descripción de los distintos conectores e interfaces de comunicación Varios autores (en inglés) Jim Price, 2001 http://www.nullmodem.com/ [PROCOM] Documentación variada sobre protocolos e interfaces de red Varios autores (en inglés) http://www.protocols.com/protoc.shtml [RFCORG] Traducción al castellano de los documentos RFC Varios autores http://www.rfc-es.org/ [SIEMCOM] Normas de cableado estructurado y categorías de cableado Varios autores (en inglés) http://www.siemon.com/white_papers/ CAPÍTULO 4 CONTROL DEL ENLACE DE DATOS Este capítulo está dedicado a repasar todos los aspectos fundamentales que están relacionados con el control del enlace lógico. Esta capa de la arquitectura de red se encarga fundamentalmente de la gestión de errores y del acceso controlado al medio de transmisión. Su importancia es fundamental en redes de área local, aunque también interviene en redes de área extensa, pero con un peso menor. Se ha intentado eliminar todos los aspectos más teóricos relacionados con los protocolos a este nivel y su reducción ha ido en beneficio de la inclusión de otros aspectos prácticos más importantes para el montaje y administración de redes locales. Figura 4.0. Un concentrador de cableado de ocho puertos 4.1. INTRODUCCIÓN Los aspectos relacionados con el nivel de enlace de datos están reflejados en la mayoría de diseños de arquitectura de red, aunque en algunos no están tan diferenciados como se debiera. Las funciones de este nivel aparecen en la capa 2 del modelo OSI (nivel de enlace de datos), en la capa 1 de TCP/IP (subred), en la capa 1 de ATM (subcapa de control de la transmisión) y en la capa 1 de Novell (capa física). 154 REDES DE ÁREA LOCAL RA-MA El nivel de enlace de datos sirve como puente entre el nivel físico inferior y el nivel de red superior en las diferentes arquitecturas de red. Se encarga de proporcionar los medios para establecer un enlace y proporciona mecanismos para la detección y control de errores. Puesto que el nivel de enlace de datos está por encima del nivel físico, éste utilizará los servicios ofrecidos por aquél para poder transmitir la información hacia el nivel de enlace de la máquina remota. Por lo tanto, las entidades a nivel de enlace tienen la impresión de que existe un canal de comunicación en el que los dígitos binarios se entregan en el mismo orden en que se envían (garantizado por el nivel físico). La máxima responsabilidad que asume el nivel de enlace es el control de errores. Esta tarea no es fácil teniendo en cuenta que los circuitos electrónicos de comunicación no son perfectos y sufren distorsiones que proceden del exterior del cable (como se vio en el capítulo 3). Otra tarea del nivel de enlace es el control de acceso a un medio compartido. En redes LAN es normal que exista un medio de difusión en el que no se permiten dos transmisiones a la vez y, al mismo tiempo, todas las estaciones reciben el mensaje enviado. Esta característica se ha separado un poco en determinadas arquitecturas (como OSI), donde se ha creado una subcapa específica para resolver estos problemas (no se incluyó en el modelo inicial). 4.2. DISEÑO DEL NIVEL DE ENLACE DE DATOS La tarea que lleva a cabo el nivel físico es aceptar un flujo original de información en bruto (procedente del nivel del enlace) e intentar entregar dicha información a su destino a través del medio de transmisión. No se garantiza que este flujo de información esté libre de errores. El número de dígitos recibidos puede ser menor, igual o mayor y sus valores pueden ser diferentes a los dígitos transmitidos. Será el nivel de enlace de datos el que detecte esos errores y tomará las medidas necesarias para corregirlos. Como se ha dicho antes, el principal propósito de los protocolos de enlace de datos es garantizar que la comunicación entre dos máquinas directamente conectadas esté libre de errores. Para conseguir este objetivo, habitualmente se divide la información a transmitir en pequeños bloques de datos, cada uno de los cuales lleva asociado un código detector de error y un número de secuencia31. Dichos bloques se envían de forma secuencial y, si uno de ellos sufre un error, será reenviado por el transmisor. De esta forma, se consigue que un error no implique la retransmisión de todo el mensaje, sino sólo una pequeña parte de él. Es responsabilidad del nivel de enlace de datos que los bloques de información transmitidos se entreguen al nivel de red del receptor en el mismo orden en que fueron enviados. 31 RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 155 Por otra parte, existe la posibilidad de incluir suficiente información de control en cada bloque de forma que el receptor pueda ser capaz de reconstruir la información original en caso de que llegue errónea. Puesto que esa información redundante crece exponencialmente con el tamaño de la información, generalmente no se utiliza y se gana en eficiencia cuando se retransmite un bloque dañado. Para indicar esta estructura de la información en bloques, se hace necesario que los datos transmitidos incorporen algún tipo de marca que señalice el comienzo y final de cada bloque para que el receptor pueda detectar esta circunstancia. Normalmente, esto se consigue añadiendo cierta información extra. A toda la información requerida por el protocolo de enlace de datos para su uso interno (números de secuencia, delimitadores, etc.) la denominaremos información de control. El nivel de enlace de datos tiene un número de funciones específicas por desarrollar. Entre estas funciones, los protocolos de enlace de datos deben realizar las siguientes: Proporcionar un servicio bien definido para su uso por el nivel superior (capa de red). Agrupar los dígitos o caracteres recibidos por el nivel físico en bloques de información, llamados tramas (o frames), a los que va asociada información de control para proporcionar todos los servicios de esta capa. Detectar y solucionar los errores generados en el canal de transmisión (tramas erróneas, incompletas o perdidas totalmente). Control de flujo, para evitar saturar al receptor, es decir, permitirle el tiempo de proceso necesario para no perder ninguna trama.. Control de diálogo: En canales semidúplex o donde se utiliza un medio compartido será necesario establecer los turnos para la transmisión. 4.2.1. Servicios proporcionados al nivel de red Al igual que otros servicios de las capas de la arquitectura, los servicios del nivel de enlace de datos pueden ser de varias clases: Servicio no orientado a la conexión y no fiable: Para transmitir las tramas, el nivel de enlace no establece ninguna conexión ni se envían confirmaciones de las recibidas. Si una trama se pierde o queda dañada por ruido en el canal de transmisión, no será misión del nivel de enlace corregir la deficiencia. El servicio es bueno cuando el número de errores es bajo y la recuperación de las tramas se delega a niveles superiores (red o transporte). 156 REDES DE ÁREA LOCAL RA-MA Servicio no orientado a la conexión y fiable: Por cada trama que manda una estación, ésta espera que le llegue un reconocimiento (positivo o negativo). De esta manera, el emisor sabe si la trama ha llegado satisfactoriamente. Si no llega el reconocimiento correspondiente pasado un tiempo determinado desde la emisión de la trama, el emisor asume que su trama no llegó o llegó dañada y la retransmite. Servicio orientado a la conexión y fiable: Es el servicio más sofisticado que el nivel de enlace de datos puede proporcionar al nivel de red. Con este servicio, las máquinas fuente y destino establecen una conexión antes de transmitir los datos. Además, cada trama que se envía se numera y el nivel de enlace garantiza que cada trama se recibe una sola vez y en el orden correcto. 4.3. FUNCIONES DEL NIVEL DE ENLACE DE DATOS En este apartado se verá una introducción acerca de las diferentes funciones que realiza el nivel de enlace de datos. Las más importantes son control de errores, gestión de tramas, control de flujo y acceso al medio. 4.3.1. Control de errores El nivel de enlace de datos debe enfrentarse ante el problema de la llegada de tramas erróneas. Para poder solucionar estas situaciones anómalas, los protocolos a nivel de enlace utilizan varias técnicas diferentes y algunas de ellas se verán en lo que sigue dentro de este apartado. Los tres tipos de errores más importantes que se pueden producir son los siguientes: Tramas de datos que llegan con información errónea (algunos de sus dígitos binarios han cambiado de valor). Tramas que llegan incompletas (algunos dígitos binarios se han perdido). Tramas que no llegan (se han perdido completamente). Aparte de los tipos de errores enumerados anteriormente, existen otros que no entran dentro de la responsabilidad del nivel de enlace, como la aparición de nuevos dígitos binarios intermedios o el desorden en los dígitos. Todos ellos son responsabilidad del nivel físico, ya que tienen que ver con los tipos de señales que se transmiten y la sincronización a nivel de bit. Durante el viaje de una trama por el medio, los dígitos binarios que la componen pueden alterar su valor, bien por defectos en la línea o por ruido procedente del exterior. La técnica más utilizada para que el receptor pueda detectar si existen dígitos de información erróneos es utilizar información de control redundante, algo así como “repetir” los dígitos enviados por trama. El receptor sólo tendrá que comparar RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 157 esa información recibida para detectar los errores. En el apartado 4.4 se exponen algunos códigos que permiten detectar e incluso corregir dígitos erróneos. Cuando el emisor recibe una trama errónea y necesita que el emisor se la reenvíe, se utilizan normalmente las tramas de confirmación y los números de secuencia. En el apartado 4.5 aparecen algunos de estos métodos. Otra posibilidad es que una enorme cantidad de ruido haga que se pierda gran parte de la trama y el receptor sólo pueda recuperar una parte de ella. En esas situaciones, es necesario que exista algún método que permita distinguir unas tramas de otras, para que el receptor pueda saber si falta alguna parte o para impedir que puedan mezclarse. Las técnicas utilizadas tienen que ver con la delimitación de tramas y se exponen en el punto siguiente. Una complicación adicional es que existe la posibilidad de que una trama se pierda completamente por problemas en el hardware (por ejemplo, una ráfaga de ruido o la rotura de un enlace en la red). En este caso, el receptor no podrá reaccionar ya que no tendrá motivo para hacerlo. Debe quedar claro que en un protocolo en que el emisor transmite la trama y entonces espera por el reconocimiento positivo o negativo podría bloquearse si la trama se pierde completamente. Figura 4.1. Control de tiempo para gestionar tramas perdidas. El tiempo que debe esperar el emisor para que llegue la confirmación debe ser suficiente como para que ésta llegue en condiciones normales. En el caso de la figura de la derecha, el tiempo es tan pequeño que las confirmaciones llegan una vez agotado. Sin embargo, tampoco deberá ser demasiado elevado como para que éste permanezca esperando innecesariamente. Para evitar tal situación, se introducen controles de tiempo en el nivel de enlace. Cuando el emisor transmite una trama, empieza a contar; este “reloj” se fija a un tiempo lo suficientemente grande para que la trama llegue a su destino correctamente y que un reconocimiento venga del receptor. Normalmente, la trama llegará correctamente al receptor y el reconocimiento volverá antes de que el reloj finalice la cuenta, en cuyo caso éste se desconectará. Sin embargo, si se pierde alguna de las tramas, la de datos o la de reconocimiento, el temporizador finalizará la cuenta, lo que avisará al emisor de que debe existir algún problema. La opción más lógica en este caso es retransmitir la trama. Ahora bien, si las tramas pueden ser retransmitidas varias veces, existe el peligro de que el receptor acepte la misma trama más de una vez. Para prevenir que esto ocurra, es generalmente necesario asignar números de secuencia a las tramas (un número diferente para cada una) para que el receptor pueda distinguir las tramas retransmitidas (duplicados) de las originales. 158 REDES DE ÁREA LOCAL RA-MA 4.3.2. Entramado La unidad de intercambio de información en los protocolos de los niveles de enlace de datos es la trama. Una trama es un bloque de datos que además contiene información de control empleada por el protocolo para identificarla de las demás. Para que el nivel de enlace de datos sea capaz de corregir los errores en la transmisión, es necesario que divida la información en bloques (tramas). Así, es posible añadir a cada trama información redundante para que el receptor pueda comprobar si todos los dígitos son correctos. También puede saber si la trama ha llegado completa o no, examinando su inicio y final. Por último, la numeración de las tramas le indica también si se ha perdido alguna por completo durante el viaje. Si alguna de estas condiciones se da, el receptor solicitará que se le reenvíe solamente la trama incorrecta y no el mensaje completo. Éstas son las razones principales por las que el nivel de enlace de datos necesita dividir la información a enviar en tramas. El nivel de enlace de datos es el encargado de fragmentar el flujo de información recibido desde el nivel de red en tramas discretas. Posteriormente, deberá calcular el código de redundancia correspondiente para cada una de ellas (para que el nivel de enlace de la máquina receptora pueda detectar los errores) y lo añadirá, junto con el resto de información de control necesaria. La división en tramas de la información a enviar se realiza normalmente mediante técnicas de señalización asíncronas. A diferencia de los dígitos binarios individuales, las tramas pueden ser varias decenas de veces más grandes, por lo que las técnicas de señalización síncronas no se aplican. Para marcar el inicio y el final de cada trama, se han diseñado varios métodos: Cuenta de caracteres: En este método se agrega un campo en la cabecera para especificar el número de dígitos binarios o caracteres en la trama. Cuando el destinatario recibe los dígitos en orden, lee el campo de cuenta para comprobar cuál es la longitud de la trama. El problema de este algoritmo es que la cuenta puede distorsionarse por un error de transmisión, es decir, un error que afecte a una sola trama puede hacer que la cuenta se pierda a partir de ese momento y las tramas se vayan tomando de una forma incorrecta. Por esta razón, el método de cuenta de caracteres se utiliza muy rara vez actualmente. Caracteres de inicio y fin: Otra técnica consiste en la utilización de caracteres especiales o secuencias de dígitos que indiquen el comienzo y fin de las tramas. El problema que plantea esta técnica es que los caracteres, códigos o secuencias de dígitos binarios no pueden aparecer en el contenido de las tramas, ya que se interpretarían incorrectamente. Para solucionar este problema, se utilizan técnicas de relleno que impiden que las marcas de inicio y fin aparezcan dentro de la trama. Los ejemplos 4.2 y 4.3 muestran técnicas de relleno para marcar las tramas con caracteres o secuencias de dígitos. RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 159 Violaciones de codificación de la capa física: Esta técnica utiliza valores prohibidos para representar las marcas de inicio y fin de trama. Por ejemplo, si la capa física utiliza la transmisión NRZ polar, NRZ-M polar o RZ polar, se podría utilizar un nivel de tensión de 0 V para representar el inicio y el final de las tramas. Ese valor de voltaje se considera una condición anormal de la transmisión y no representa ninguna información válida. La ventaja de este método radica en que, puesto que esas marcas no representan información, no es necesario utilizar las técnicas de relleno de trama vistas en los ejemplos 4.2 y 4.3. EJEMPLO 4.1 Imaginemos la transmisión de varias tramas consecutivas que utilizan la cuenta de caracteres. Cada carácter numérico en hexadecimal corresponde a cuatro dígitos binarios y representa, por parejas, una letra en código ASCII. El emisor podría enviar una secuencia como la siguiente: 5 3 A 0 1 B 6 8 2 F 7 4 C 3 D 2 7 8 E 6 6 8 0 1 2 3 E F 4 A 7 Los caracteres de cuenta aparecen subrayados para distinguirlos sobre el resto. Si se produjera un error durante la transmisión que afectara a uno de esos caracteres de cuenta, todas las tramas que se envían a continuación del error no se interpretarían correctamente. El ejemplo siguiente muestra las mismas tramas anteriores enviadas con un error en la segunda de ellas: error 5 3 A 0 1 B 4 8 2 F 7 4 C 3 D 2 7 8 E 6 6 8 0 1 2 3 E F 4 A 7 Por lo tanto, el método de cuenta de caracteres no se utiliza en los protocolos de transmisión de datos, ya que es muy sensible a errores. Cualquier modificación en los bits de cuenta supone la pérdida total de sincronismo entre el emisor y el receptor para el resto de la transmisión. EJEMPLO 4.2 El relleno de caracteres es una técnica que usa los caracteres especiales DLE, ETX y STX, todos ellos pertenecientes al código ASCII. Para marcar el inicio de una trama, se utiliza la secuencia DLE STX y para marcar el fin DLE ETX. Para realizar el relleno de trama, se inserta un DLE por cada DLE que aparezca en el campo de información. Supongamos que queremos construir una trama que lleve estos datos: A 5 DLE ETX X B DLE E 8 F DLE STX La trama se construye añadiendo el encabezado, el fin y el relleno: 160 REDES DE ÁREA LOCAL RA-MA DLE STX A 5 DLE DLE ETX X B DLE DLE 8 F DLE DLE STX DLE ETX inicio fin Por lo tanto, el receptor no interpreta la secuencia DLE ETX o DLE STX como marcadores de inicio y fin, ya que van seguidos de otro DLE (que hay que eliminar para reconstruir la información original). EJEMPLO 4.3 Otra técnica que también se utiliza es el relleno a nivel de dígitos binarios que, comparada con la del ejemplo 4.2, es más efectiva, ya que reduce el tamaño de las tramas. Consiste en utilizar la secuencia “01111110” para indicar el inicio y el final de una trama. Puesto que esos dígitos pueden aparecer también dentro de la información, se utiliza el relleno para impedir su aparición. Por cada cinco unos consecutivos, el emisor añade un “0” y así el receptor no se confunde con una marca de fin. Supongamos que el emisor desea transmitir esta información binaria: 100101110111111111110110011111001111 Para ello, construye la trama de la siguiente forma: 0111111010010111011111011111010110011111000111101111110 inicio fin En general, una trama de nivel de enlace de datos consta de varios campos. La tabla 4.1 muestra algunos de los más utilizados en protocolos reales (se verán en el apartado 4.7). Estos campos suelen aparecer en la mayoría de tramas de los protocolos reales. Su función es la siguiente: Guión: Indica el principio y final de la trama. Puede ser la secuencia “01111110” o “DLE STX” y “DLE ETX”. Dirección: Es la dirección física del receptor. Control: Contiene información de control para la transmisión. Ésta se divide en varios campos que pueden ser: • Tipo: Indica si la trama contiene datos o sólo información de control. Normalmente existen tres tipos de tramas: de datos, de confirmación positiva y de confirmación negativa. Las tramas de datos también pueden llevar confirmaciones. RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 161 • Secuencia: Indica el número de secuencia de la trama enviada (en caso de que sea una trama que ha enviado el emisor con datos). • Confirmación: Indica el número de orden de la trama recibida (en caso de que el receptor la confirme mandando una trama al emisor). Datos: Es la información que proviene el nivel de red y también la que el nivel de enlace de datos devuelve a éste cuando recibe la trama. Su longitud suele ser variable y se omite en tramas de control. Redundancia: Se utiliza para el control de errores (código de paridad, CRC, etc.). Véase el apartado 4.4. Tabla 4.1. Ejemplo de trama del nivel de enlace de datos Guión CABECERA Dirección Control INFORMACIÓN Datos FIN Redundancia Guión Cuando el nivel de enlace acepta un bloque de información del nivel de red, lo encapsula en una trama añadiendo una cabecera de enlace de datos (como se ha visto antes) y ésta es enviada al nivel de enlace de destino utilizando una llamada a procedimiento de nivel físico. En el envío de esa trama se calcula también el código de redundancia para que la capa de enlace de destino pueda comprobar si hay errores y, si no hay ninguno, envíe la información a la capa de red superior. 4.3.3. Control de flujo Otra cuestión que se debe tener en cuenta en este nivel es qué hacer cuando el emisor quiere transmitir tramas con una frecuencia (velocidad) superior a la que puede procesar el receptor. En estas condiciones, existen muchas posibilidades de que el receptor no pueda almacenar todas las tramas y, por lo tanto, algunas de ellas se podrían perder. Esta situación puede ocurrir cuando el emisor está transmitiendo desde una estación con poca carga y la estación del receptor está muy cargada. Para evitar estos problemas, el protocolo de enlace puede seguir varias técnicas diferentes. La más utilizada aprovecha las confirmaciones que envía el receptor para realizar el control de flujo. Por ejemplo, el emisor podría enviar una o varias tramas y esperar a que llegue su confirmación para enviar las siguientes o reenviar las que han llegado mal. Dependiendo del protocolo, se puede utilizar el establecimiento de la conexión para negociar el número de tramas consecutivas que puede enviar el emisor sin esperar confirmaciones. La figura 4.2 muestra un ejemplo sencillo de control de flujo que aprovecha el control de errores. 162 REDES DE ÁREA LOCAL RA-MA Figura 4.2. Ejemplo de protocolo para el control de flujo. El emisor envía tres tramas simultáneas y no envía otras tres hasta que no le llega su confirmación positiva. En caso de que alguna de las tres llegue mal, se reenviará en otra ráfaga junto con nuevas tramas, dependiendo del protocolo utilizado. Llevar a cabo un buen control de flujo supone, en la mayoría de los casos, una disminución de la velocidad de transmisión, ya que en algunos momentos las estaciones de origen y destino pueden estar “ociosas” a la espera de que lleguen las confirmaciones. Sin embargo, en la mayoría de las situaciones, no llevar a cabo un buen control de flujo puede ralentizar aún más la comunicación, ya que el emisor tendrá que reenviar todas las tramas que pierde el receptor. 4.3.4. Gestión del medio En redes locales, lo normal es que exista un único medio de transmisión por el que todas las estaciones se comunican. Puesto que no se utilizan técnicas de multiplexación por división de frecuencia (el medio de transmisión de una LAN no tiene el ancho de banda necesario), es necesario diseñar protocolos que permitan el uso por turnos de las estaciones que quieren transmitir. El problema del reparto del medio es a veces difícil de solucionar, sobre todo porque puede existir gran cantidad de estaciones que no se sabe cuándo van a transmitir, aunque normalmente lo hacen muy esporádicamente. En la vida real, a nosotros nos resulta más fácil solucionar este problema. Por ejemplo, dos personas que hablan por teléfono no suelen tener problemas a la hora de tomar el turno para hablar; en una reunión, puede existir un moderador que sea el encargado de ceder el turno para hablar, etc. RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 163 Los protocolos encargados de “moderar” en una conversación entre estaciones que comparten el medio se encuentran en la parte inferior del nivel de enlace de datos, y en algunas arquitecturas, como OSI32, se han incluido en una subcapa llamada subnivel de acceso al medio o MAC (Medium Access Control). El control de acceso al medio es una de las características que diferencian las redes LAN de las WAN. En estas últimas, lo normal es que los enlaces entre nodos o estaciones de la red sean punto a punto, es decir, solamente comunican dos estaciones en los extremos, aunque cada una de ellas tenga más de un enlace. En el apartado 4.5 se exponen algunos de los protocolos más importantes que se utilizan en la capa MAC. Éstos han sido incluidos dentro de determinados estándares de LAN y se verán también en el apartado 4.7. 4.3.5. Direccionamiento Las redes de área extensa utilizan enlaces punto a punto para comunicar todos sus nodos, formando topologías que normalmente son irregulares. Estos enlaces están dedicados a comunicar solamente dos equipos (uno en cada extremo). Sin embargo, la mayoría de las redes locales utilizan, por simplicidad y reducción de costes, un medio compartido por el que transmitir. Esta diferencia hace que los protocolos de bajo nivel en LAN y WAN sean bastante diferentes en cuanto a sus características. Una de ellas, el control de acceso al medio, ya se ha introducido en este capítulo; solamente nos queda hablar de la segunda de ellas: el direccionamiento. Cuando un ordenador envía una trama a la red, ésta permanece en el medio compartido (ya sea bus o anillo) en espera de ser recogida por el destinatario. Puesto que todas las estaciones están conectadas al mismo medio, todas pueden “ver” esa trama enviada (por lo menos a nivel físico). Sin embargo, solamente el nivel de enlace de la destinataria podrá tomarlo para sí. Por lo tanto, es necesario algún mecanismo que identifique unas estaciones de otras. Las direcciones a nivel de enlace, que normalmente se consideran direcciones de la subcapa MAC, están formadas por números binarios que identifican a las estaciones del resto (por lo que deben ser únicas). Dependiendo del protocolo utilizado, estas direcciones pueden tener un mayor o menor número de dígitos: por ejemplo, en el estándar de Ethernet y Token Ring, las direcciones MAC son números binarios de 48 dígitos que se suelen expresar como grupos de 8 bits representados en hexadecimal y separados por puntos. Por ejemplo, una dirección MAC podría ser la siguiente: 18.3E.A0.64.F2.01 En el diseño inicial de OSI no se tuvieron en cuenta las redes locales, por lo que fue necesario hacer revisiones posteriores para incluir los protocolos de acceso al medio en una nueva capa, el subnivel MAC. 32 RA-MA 164 REDES DE ÁREA LOCAL Las direcciones MAC suelen ir grabadas en las propias tarjetas de red, de forma que no pueden ser modificadas. Para impedir que en una red puedan existir dos estaciones con las mismas direcciones MAC, los fabricantes suelen convenir en los números que asignan a sus tarjetas. En el caso de las direcciones Ethernet y Token Ring, la primera mitad (los 24 primeros bits) identifica al fabricante de la tarjeta, mientras que los dígitos restantes identifican de forma única cada tarjeta, en una asignación realizada por el propio fabricante. Por su parte, otros tipos de direcciones como las empleadas en redes ARCNet pueden ser definibles directamente por el usuario. 4.4. CÓDIGOS DE CONTROL DE ERRORES Resulta evidente que, para que la comunicación sea posible entre dos ordenadores diferentes, es necesario utilizar un código, es decir, un conjunto limitado y moderadamente extenso de símbolos que se combinan mediante ciertas reglas conocidas por el emisor y el receptor. Un código que podría utilizarse podría ser el binario natural o el código ASCII, que también permite representar caracteres alfanuméricos. Cuando al receptor se le entrega un mensaje codificado en binario natural, éste contiene dígitos que solamente pueden tomar dos valores diferentes: “0” ó “1”. A cada uno de esos dígitos se le llama bit (abreviatura de BInary digiT), que es la cantidad de información que lleva cada uno de los dígitos del sistema binario (en este caso sólo existen dos alternativas posibles). El ejemplo 4.4 muestra casos en los que un dígito binario se considera un bit y otros en los que no ocurre así. EJEMPLO 4.4 En binario natural, cada dígito es un bit porque contiene información que expresa dos posibles alternativas. Para codificar un número, se utiliza siempre el mínimo número de dígitos y ninguno de ellos es “prescindible”. Supongamos que diseñamos un nuevo código que utiliza la siguiente tabla para representar números: Dígito en decimal 0 1 2 3 4 5 6 7 8 9 Se representa en mi código 00 010 0110 01110 011110 0111110 01111110 011111110 0111111110 01111111110 RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 165 En este nuevo código, cada dígito binario no es un bit, porque no representa información de dos posibles alternativas. La palabra “00” contiene la misma cantidad de información que “0111111110” y, sin embargo, una tiene más dígitos que otra. 4.4.1. Definiciones relativas a códigos binarios En este apartado se expondrán algunas definiciones relativas a códigos binarios, necesarias para poder introducir los códigos de control de errores. Éstas son: Distancia entre dos palabras código es el número de dígitos que deben ser invertidos en una de ellas para obtener la otra. Distancia de un código binario es la menor de las distancias entre sus palabras código. Se dice que un código binario de N dígitos es denso si tiene 2N palabras código. Puede afirmarse que un código es denso cuando no utiliza dígitos “redundantes”. Se dice que dos palabras código son adyacentes si su distancia es uno. Dos palabras adyacentes no tienen por qué ser consecutivas. EJEMPLO 4.5 Tomemos como ejemplo el código binario para las definiciones anteriores: La distancia entre las palabras “1000101” y “1001001” es 2. La distancia del código binario es uno, porque existen palabras que tienen distancia 1, como “1000101” y “1000001”. El binario natural también es un código denso: con 5 bits se pueden representar 32 palabras diferentes (25 = 32). Las palabras “1001011” y “1011” son adyacentes. 4.4.2. Códigos detectores de error El código binario es adecuado para la representación de números decimales, aunque presenta el problema de ser muy sensible a los errores en las transmisiones de la información. Basta que cambie un bit, para que el receptor interprete la palabra como un número o carácter diferente. RA-MA 166 REDES DE ÁREA LOCAL En el mundo real no existe ningún canal de comunicación que sea ideal (aunque algunos sistemas de transmisión poseen un porcentaje de error muy bajo, como es la fibra óptica), por lo que no se puede asegurar que una palabra codificada llegue íntegramente y sin alteración a su destino. En algunos casos, las averías producidas en alguno de los componentes o la presencia de ruido eléctrico acentúan la presencia de errores en las transmisiones. En cualquier sistema siempre existe una probabilidad mayor que 0 de que se produzca un error simple (que afecte a un solo dígito). Por su parte, la probabilidad de que se produzcan dos o más errores simultáneamente, aunque no es cero, es sustancialmente menor. Para minimizar los errores producidos por el canal en transmisiones reales, se utilizan procedimientos codificadores que permiten detectar cuándo se ha producido un error en la transmisión, aunque no su localización exacta dentro de la palabra. Por lo tanto, avisan del error, pero no son capaces de localizarlo. En un código binario denso (como es el binario natural) es imposible la detección de un error, porque una palabra código se transformará en otra que también pertenece a él. Por lo tanto, todos los procedimientos detectores de error se basan en la introducción de unos dígitos extra denominados “redundantes”, lo que hace que no todas las combinaciones de dígitos pertenezcan al código. Como consecuencia de ello, aumenta la longitud media de él, manteniéndose fija la información por palabra. EJEMPLO 4.6 Un método sencillo para detectar errores puede ser añadir al mensaje original (normalmente codificado en binario natural) un número codificado también en binario que indique cuántos unos (o ceros) contiene. Por ejemplo, “101111001001110” se puede codificar añadiendo cuatro dígitos al final que indican el número de unos que contiene (la palabra original), de la forma: 1011110010011101010 Aunque este método detecta errores producidos en un dígito, no detecta errores producidos en un número par de bits, donde la mitad de ellos pasa de cero a uno y la otra mitad de uno a cero. La utilización de dígitos redundantes para permitir la detección de errores no está restringida solamente al tratamiento informático de los datos, sino que también los humanos usamos esta técnica en nuestro propio lenguaje. En él, existe una elevada cantidad de redundancia, de forma que un fallo en unas pocas letras de un texto no impide su comprensión por parte del lector. En otras situaciones, resulta también muy claro el uso de la redundancia, por ejemplo, la utilización de palabras completas para deletrear una frase; “GATO” se podría deletrear con esta secuencia de palabras: “Granada”, “Almería”, “Toledo” y “Orense”. RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 167 De lo dicho anteriormente se deduce que la condición necesaria y suficiente para que un código binario permita detectar errores en un dígito es que su distancia sea superior a la unidad, de forma que la palabra afectada por el error no pertenezca al código. Se define el rendimiento de un código como el cociente: R= i i+r Donde i es el número de dígitos de información por palabra y r es el número de dígitos redundantes por palabra. El código binario natural tiene un rendimiento igual a 1 (ya que no tiene dígitos redundantes). EJEMPLO 4.7 Supongamos que tenemos un código binario de transmisión de datos cuyas palabras son las siguientes: Número en decimal 0 1 2 3 4 5 6 7 8 9 Representación del código 000000000000000000 000000000000000011 000000000000001111 000000000000111111 000000000011111111 000000001111111111 000000111111111111 000011111111111111 001111111111111111 111111111111111111 Si el emisor envía la palabra “000000000000111111” y se produce un error en el dígito 2, el receptor recibirá la palabra “000000000000111101”, que resulta inválida y, por lo tanto, sabrá que se ha producido un error (y solicitará su reenvío al emisor). Sin embargo, si se producen dos errores en dos dígitos diferentes durante la transmisión, el receptor podría recibir la palabra “000000000011111111”, que sí pertenece al código, por lo que la tomaría como válida siendo ésta incorrecta. La figura 4.3 muestra el esquema básico de comunicación utilizando codificación con control de errores. Se producirá un error en la transmisión cuando X ≠ X’ y, si U = U’, quiere decir que el código también permite la corrección de errores. RA-MA 168 REDES DE ÁREA LOCAL Figura 4.3. Esquema simplificado de comunicación. Una estación codifica el mensaje utilizando algún código que tenga propiedades para la detección de errores. Éste es el mensaje transmitido por el cable y decodificado por el receptor para obtener el mensaje original. Códigos de paridad El código de control de errores más sencillo es el de control de paridad simple. Se basa en añadir a la palabra código un dígito cuyo valor dependerá de los valores de los dígitos que forman la palabra. Existen dos métodos de control de paridad simple: • Paridad par, que consiste en añadir un “1” si la palabra original contiene un número impar de unos, y un “0” si contiene un número par de unos. En cualquier caso, todas las palabras del código tendrán un número par de unos. • Paridad impar, que consiste en añadir un “1” si la palabra original contiene un número par de unos y se añadirá un “0” si contiene un número impar de unos. En este otro caso, todas las palabras del código tienen un número impar de unos. De esta forma, si se produce un error en un bit, éste será detectado. Aunque este sistema es capaz de detectar un número impar de errores, no es capaz de detectar un número par de errores. EJEMPLO 4.8 Se desea enviar la palabra “1001011” utilizando paridad impar. El emisor envía la siguiente palabra codificada: 10010111 Sin embargo, se produce un error en el dígito número 2, con lo que llega: 10010101 El receptor sabrá que se ha producido un error porque la paridad de la palabra recibida es par. Sin embargo, si se hubieran producido dos errores (recibiendo la palabra “11010011”, por ejemplo) el receptor no detectaría ningún error. RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 169 Un método de codificación más eficiente en la detección de errores es el control de paridad bidimensional. Consiste en dividir la información a transmitir en fragmentos de igual número de bits, colocarlos por partes formando una matriz en dos dimensiones y aplicar el control de paridad por filas y por columnas a la vez, de forma que se añade un bit por cada fila (para la paridad horizontal) y una fila completa para la paridad vertical. Supongamos que dividimos una palabra a transmitir en m bloques distintos, con n bits cada uno (lo que nos da una longitud total de palabra de n·m bits). Los agrupamos como se muestra a continuación y se calculan los dígitos de paridad horizontales (pi) y los verticales (qj). El dígito qn+1 se puede calcular como horizontal, vertical o diagonal. Por lo tanto, tenemos que la palabra original está formada por los siguientes dígitos: b11b12b13...b1nb21b22b23...b2nb31b32b33...b3n...bm1bm2bm3...bmn Y los dígitos de paridad se obtienen de la siguiente tabla: b11 b21 b31 ... bm1 q1 b12 b22 b32 ... bm2 q2 b13 b23 b33 ... bm3 q3 ... ... ... ... ... ... b1n b2n b3n ... bmn qn p1 p2 p3 ... pm qn+1 Así, la palabra resultante tiene la siguiente forma: b11b12b13...b1np1b21b22b23...b2np2b31b32b33...b3np3...bm1bm2bm3...bmnpmq1q2q3...qnqn+1 El ejemplo 4.9 muestra una codificación con paridad bidimensional. EJEMPLO 4.9 Se quiere codificar la siguiente palabra: 101111100001101110110111010000. La dividimos en cinco bloques de seis dígitos de longitud y los colocamos formando una matriz bidimensional: 1 1 1 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 0 1 1 0 1 0 Si se emplea el método de control de paridad bidimensional y con paridad par, el bloque a transmitir quedará de la forma: RA-MA 170 REDES DE ÁREA LOCAL 1 1 1 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 0 1 1 1 Donde la última columna corresponde a la paridad horizontal y la última fila a la vertical. Ahora sólo falta reconstruir la palabra para su envío: 101111110000101011100110111101000010001111 Si se produjera un error en un bit cualquiera, éste afectaría al bit de paridad horizontal situado en la misma fila y al situado en la misma columna. Sin embargo, no es capaz de detectar los errores producidos simultáneamente en los bits que ocupen los vértices de cualquier rectángulo (número de error es igual a 4). Códigos de redundancia cíclica Los códigos de control de paridad simple (y bidimensional, cuando pueden aplicarse) permiten la detección de errores simples. Para errores más complejos (de más dígitos) no suelen funcionar todo lo bien que se quisiera. Uno de los códigos más utilizados para detectar errores en las transmisiones es el código de redundancia cíclica o CRC (Ciclic Redundance Code), también llamado código polinómico. Los códigos CRC se utilizan ampliamente en muchas de sus versiones, y no sólo para la transmisión de la información; también se incluyen en los algoritmos de descompresión de la información, para comprobar si se ha producido algún error durante el proceso. Los códigos CRC se basan en la inclusión, al final de la palabra original, de una serie de dígitos redundantes que permiten detectar errores en varios dígitos (dependiendo de la variante que se utilice). Estos dígitos no se generan a partir de la paridad de los bits de información, sino que utilizan un método más elaborado. Los pasos que se siguen en la transmisión de la información utilizando un código CRC se resumen a continuación: 1. Dada una palabra en binario natural de N bits, se le añaden R dígitos al final de ella, todos con el valor “0”; al valor de R se le llama grado del código. 2. La cadena de bits anterior se divide por otra palabra, llamada polinomio generador, de longitud igual a R-1. La división se realizará siempre en binario, porque tanto el dividendo como el divisor están en esa base. RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 171 3. A la cadena obtenida en el punto 1 se le resta el residuo obtenido en la división binaria del punto 2. Así se obtiene la palabra codificada en CRC, que tiene la propiedad de ser divisible por el polinomio generador. Cuando se recibe una palabra codificada en CRC, se seguirán estos pasos: 1. Dividir en binario la palabra codificada en CRC entre el polinomio generador. 2. Si el resto es todo ceros, quiere decir que no se ha producido ningún error. Así, se tomarán los N bits de la izquierda, se les sumará 1 (en suma binaria) y se considerará como información correcta. 3. Si el resto de la división no es todo ceros, quiere decir que se ha producido un error en la transmisión. De todo lo anterior se desprende que este método no detectará los errores que casualmente hagan que la palabra sea divisible por el polinomio generador. Existen tres códigos CRC que se utilizan ampliamente: CRC-12: Su polinomio generador es “1100000001111”y se utiliza para palabras de datos de 6 bits. CRC-16: Su polinomio generador es “11000000000000101” y se utiliza para palabras de datos de 8 bits. CRC-CCITT: Su polinomio generador es “10001000000100001” y se utiliza para longitudes de palabra de datos de 8 bits. EJEMPLO 4.10 Queremos transmitir la palabra “1101011011” utilizando un código CRC cuyo polinomio generador es “100011”. Seguimos los pasos: • Añadimos siete ceros al final de la palabra: “11010110110000000”. • Dividimos la palabra entre el polinomio generador. Esto nos da de resto “10001”. • Restamos ese residuo a la palabra “11010110110000000” y nos queda la palabra “11010110101101111”, que es la que se transmite. Nótese que la palabra codificada parece no ser muy parecida a la original. Sin embargo, si quitamos los últimos siete dígitos y le sumamos 1, obtendremos la palabra original. Se puede comprobar que la palabra codificada en CRC es divisible entre “100011”. 172 REDES DE ÁREA LOCAL RA-MA 4.4.3. Códigos detectores y correctores de error Los códigos correctores de error no sólo indican la existencia de un error, sino que proporcionan información de cuál es el dígito o dígitos binarios afectados y, por tanto, permiten su corrección invirtiendo sus valores. Estos códigos sólo se utilizan en situaciones en las que no es posible solicitar la retransmisión del mensaje cuando se ha producido un error o en el caso de sistemas de transmisión que producen gran cantidad de errores en las líneas. Sin embargo, son de escasa utilidad en sistemas donde la tasa de error es baja y es posible la solicitud de retransmisión, ya que la cantidad de dígitos redundantes necesaria para corregir errores en varios bits es muy grande con respecto a la longitud de la palabra a transmitir. Los códigos de paridad estudiados anteriormente (de distancia dos) no permiten la corrección de errores porque, al producirse un error simple, la combinación obtenida posee como mínimo dos adyacentes pertenecientes al código y no es posible discernir de cuál de las dos procede. Por lo tanto, la condición necesaria y suficiente para que un código permita corregir errores en un bit es que su distancia sea superior a dos. Si la distancia de un código es tres, la combinación obtenida por error en un bit es adyacente a una sola palabra código y es posible conocer cuál es el bit erróneo. Así, un código de distancia mínima tres permite detectar errores en dos bits o corregir errores en uno de ellos. En general, la distancia de un código para que permita corregir errores en N bits ha de ser igual o mayor que 2N+1. EJEMPLO 4.11 Supongamos el código visto en el ejemplo 4.6. Este código no permite la corrección de errores en un bit. Si se recibe la palabra “000000000001111111” con un dígito erróneo, el receptor no sabrá si se ha producido un error en el bit 7 (con lo que la palabra enviada era “000000000000111111”) o se ha producido en el bit 8 (y se envió la palabra “000000000011111111”). Uno de los códigos más utilizados como corrector de errores es el código de control de paridad Hamming. Consiste en introducir más de un bit de paridad por cada palabra, de forma que, si el número de bits de paridad es el adecuado, se puede detectar en qué dígito se ha producido el error (y por tanto, corregirlo). A diferencia de los códigos de paridad simple, donde el dígito de paridad se genera a partir de todos los de información, en este caso cada bit de paridad se genera a partir de un grupo de dígitos de información (no de todos ellos), incluyéndose a él mismo. Los principios básicos para la construcción de un código Hamming capaz de corregir errores en un bit, partiendo de un código en binario natural de N bits de distancia uno, son los siguientes: RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 173 ⌦ A cada palabra de N dígitos binarios (BN...B3B2B1) se le añaden K dígitos binarios más (DK...D3D2D1), generados a partir de los N primeros, para formar una palabra código de longitud N+K. ⌦ Los K dígitos de paridad no se incluyen al final de los dígitos de información, sino que se intercalan entre ellos ocupando posiciones que son potencias de dos (posición 2, 4, 8, 16, etc.). ⌦ Los K dígitos añadidos se generan de forma que K test de paridad elegidos convenientemente devuelvan una palabra binaria (TK...T3T2T1) que indique la posición del bit erróneo o un cero si no se ha producido error33. Cada uno de esos dígitos de paridad puede estar incluido en más de un cálculo de paridad. ⌦ Si la palabra transmitida es de longitud (N+K) y existe la posibilidad de error en cualquiera de los N+K dígitos y de “no error” (en total tenemos N+K+1 casos distintos), se tiene que cumplir la inecuación 2K≥N+K+1 para que la palabra (TK...T3T2T1) pueda representar todos los casos posibles34. Un código de control de paridad de Hamming se dice que es óptimo cuando cumple la igualdad N=2K-1. EJEMPLO 4.12 Queremos construir un código Hamming a partir del binario natural de 4 bits. Por tanto, si queremos que el código sea capaz de corregir errores en un bit, se debe cumplir 2K ≥ 4+K+1. Entonces, deberemos tomar K = 3 (o mayor), con lo que el código Hamming resultante tendrá una longitud de palabra de 7 bits. Puesto que la palabra tiene 7 bits, se podrá producir un error en cualquiera de ellos y será necesario codificar el test de paridad utilizando 3 bits. Éste indicará la posición donde se ha producido el error como se muestra en la tabla siguiente: Posición errónea 0 (no error) 1 2 3 4 5 6 7 Test: 0 0 0 0 1 1 1 1 T3 0 0 1 1 0 0 1 1 T2 T1 0 1 0 1 0 1 0 1 Por ejemplo, si, al hacer el test de paridad, se obtiene la palabra “001010”, quiere decir que se ha producido un error en el bit número 10 (contando a partir de la derecha). 34 Esta inecuación también puede despejarse para que quede: K ≥ log N. 2 33 RA-MA 174 REDES DE ÁREA LOCAL Si la palabra Hamming tiene 7 bits, tendrá la forma (P7P6P5P4P3P2P1), donde cada Pi puede valer “0” ó “1”. Los tests de paridad se generan de esta forma35: T1 = P1 T2 = P2 T3 = P4 P3 P3 P5 P5 P6 P6 P7 P7 P7 Puesto que los bits de paridad pueden estar situados en cualquier posición dentro de la palabra de 7 bits, los colocamos de forma que cada uno de ellos pueda estar en función (y dependa exclusivamente) de los bits de información procedentes del binario natural. Para que no exista error en las expresiones de test de paridad anteriores, tanto T1 como T2 y T3 deben tener valor 0, con lo que podemos despejar las expresiones anteriores (como muestra la columna de la izquierda). En la columna de la derecha se muestran las mismas expresiones despejadas, a partir de P1, P2 y P4, que solamente aparecen una vez en las ecuaciones: 0 = P1 0 = P2 0 = P4 P3 P3 P5 P5 P6 P6 P7 P7 P7 P1 = P3 P2 = P3 P4 = P5 P5 P6 P6 P7 P7 P7 Las expresiones de la columna de la derecha nos van a indicar cómo se generan los dígitos de paridad que, como se puede observar, siempre aparecen en posiciones que son potencias de 2. La palabra resultante en código Hamming es (B4B3B2D3B1D2D1), donde D1 = P1, D2 = P2, D3 = P4, B1 = P3, B2 = P5, B3 = P6 y B4 = P7. Utilizando esta notación, los dígitos de paridad se obtienen de las ecuaciones: D1 = B1 D2 = B1 D3 = B2 B2 B3 B3 B4 B4 B4 En la tabla 4.2 se muestra el código Hamming que resulta al aplicar las expresiones anteriores a los bits (B4B3B2B1) del código binario natural. Se puede comprobar en la tabla que resulta un código de distancia 3. Supongamos que se produce un error en un bit durante la transmisión, por ejemplo, se ha emitido la palabra código “0110100” y por error en la línea se recibe la palabra código “0111100”, es decir, se ha producido un error en el bit número 4. Posiciones: Mensaje recibido: P7 0 P6 P5 1 1 P4 1 P3 P2 1 0 P1 0 El operador es un or-exclusive a nivel de bits, por lo que sigue las siguientes reglas: 0 = 0, 0 1 = 1, 1 0 = 1 y 1 1 = 0. 35 0 RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 175 Las tres detecciones de paridad generan la siguiente palabra: T1 = P1 T2 = P2 T3 = P4 P3 P3 P5 P5 P6 P6 P7 = 0 P7 = 0 P7 = 1 1 1 1 1 1 1 0=0 0=0 0=1 En efecto, T3T2T1 es igual a “100”, lo que indica que se ha producido un error en la posición cuatro; invirtiendo el valor de esta posición, el error queda corregido. De no haberse producido ningún error, se hubiera mantenido la paridad impuesta por el emisor, con lo que, al calcular el valor de T3T2T1, se hubiera obtenido “000”. Hay que tener en cuenta que la detección y corrección de errores utilizando el código Hamming es muy rápida, debido a que las operaciones que debe realizar el protocolo son muy sencillas (siempre operaciones a nivel de bits). Tabla 4.2. Código Hamming de 7 bits Valor en decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Posiciones: P7 P6 P5 P4 P3 P2 P1 B4 B3 B2 D3 B1 D2 D1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 0 1 0 0 1 0 0 1 0 1 1 1 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 4.5. PROTOCOLOS A NIVEL MAC En una LAN, existen varias estaciones que transmiten y reciben información a través del mismo medio. Cuando una de ellas tiene alguna trama para enviar (situación que puede ocurrir en cualquier momento), se queda a la espera de poder realizar la transmisión, mientras el protocolo de acceso al medio lo indique. Como se introdujo en el capítulo 1, apartado 1.3.4, un segmento de red es aquél en el que todas las estaciones comparten el mismo medio de transmisión. Por lo tanto, todas las consideraciones que se verán en este apartado se aplican a un segmento de red. RA-MA 176 REDES DE ÁREA LOCAL Cuando dos o más estaciones transmiten a la vez en un medio de difusión, se produce un fenómeno denominado colisión. En esas circunstancias, las señales enviadas se “mezclan” y ninguna de ellas puede ser interpretada correctamente (se pierden), por lo que normalmente no es deseable que ocurra. Algunas tarjetas de red tienen un indicador luminoso que advierte de las colisiones producidas; si se ilumina muchas veces, es probable que la red no esté funcionando correctamente. Las estaciones pueden acceder al medio de transmisión para comprobar si éste está siendo utilizado por alguna estación para transmitir. Cuando la estación receptora recoge la información que le ha sido enviada, el medio queda otra vez libre para enviar más tramas; mientras tanto, el medio está ocupado. Dependiendo del protocolo utilizado, las estaciones pueden comprobar si el medio está libre o no. 4.5.1. Protocolos de acceso al medio Los algoritmos utilizados para resolver el problema del reparto del canal poseen dos características principales que los definen: El control del tiempo para transmitir. Existen dos opciones: utilizar un tiempo continuo (se puede transmitir en cualquier momento) o ranurado (el tiempo se divide en intervalos discretos y la transmisión de una trama se debe realizar siempre al inicio de uno de esos intervalos). La detección de portadora. La estación puede realizar esta operación (para comprobar si hay alguien transmitiendo) o puede funcionar sin detección de portadora (la estación envía y luego comprueba si se ha producido una colisión). Se conocen muchos algoritmos para repartir un canal de acceso múltiple (actualmente se utilizan más de 20 en las redes de difusión que funcionan en todo el mundo). Muchos de ellos utilizan las mismas ideas de base, aunque con pequeñas modificaciones. Los más importantes aparecen resumidos en la tabla 4.3 y se explican brevemente en los siguientes apartados. Tabla 4.3. Resumen de algunos protocolos de acceso al medio Control de tiempo Continuo Ranurado Con detección de portadora CSMA persistente CSMA no persistente CSMA/CD CSMA/CA Sin detección de portadora ALOHA puro Paso de testigo ALOHA ranurado Mapa de bits RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 177 ALOHA puro El protocolo ALOHA fue inventado en la Universidad de Hawai para la radio transmisión en tierra, aunque la idea es aplicable a cualquier sistema en el que dispositivos de transmisión pugnan por el uso de un solo canal compartido. La idea de este protocolo consiste en permitir que las estaciones transmitan en cuanto tengan datos para enviar. Evidentemente se producirán colisiones, así que éstas deberán ser descartadas para proseguir las transmisiones. Cualquier emisor siempre puede saber si su mensaje fue destruido debido a una colisión o no. Si el mensaje fue destruido, el emisor espera un tiempo aleatorio y lo envía de nuevo, con el fin de que las tramas no choquen una y otra vez. Como muestra la figura 4.4, las tramas se transmiten a intervalos completamente aleatorios. Figura 4.4. Esquema de transmisión de tramas de ALOHA puro. Las estaciones pueden transmitir en cualquier momento, lo que provoca colisiones y posteriores retransmisiones. Es evidente que, cuantas más estaciones compartan el medio y cuanto mayor sea el tráfico, más colisiones se producirán. ALOHA ranurado ALOHA ranurado es un método alternativo que consiste en dividir el tiempo en intervalos discretos, llamados ranuras, correspondientes cada uno a la longitud de una trama. Este método mejora en rendimiento al ALOHA puro (ya que algunas colisiones son evitadas, como las que aparecen en la figura 4.4) y se utiliza un reloj que marca los comienzos de las ranuras (o intervalos). Solamente se permite transmitir una trama al comienzo de una ranura y, si la estación se encuentra en mitad de ella, deberá esperar hasta el comienzo de la siguiente para enviar datos. La figura 4.5 muestra la analogía de la transmisión de ALOHA ranurado con una fila de vagonetas, donde cada una de ellas se comporta como una ranura. 178 REDES DE ÁREA LOCAL RA-MA Figura 4.5. Transmisión en ALOHA ranurado. El sistema es similar a una serie de vagonetas (medio de transmisión) que se desplazan en una dirección (la de transmisión). Cada una de ellas es como una ranura que puede transportar una sola trama. Las estaciones “descargan” sus tramas solamente cuando encuentran una vagoneta libre y ésta se encuentra bien alineada (al comienzo de la ranura). Si no se cumplen esas dos condiciones, la estación esperará a que pase la siguiente vagoneta libre para transmitir. CSMA persistente El protocolo CSMA persistente (Carrier Sense Multiple Access o Acceso Múltiple con Detección de Portadora) consiste en que, cuando una estación desea transmitir, primero escucha el canal para ver si éste está ocupado. Si hay otra estación transmitiendo, se espera a que termine y cuando la estación detecta un canal en reposo, transmite una trama. Si ocurre una colisión (porque otra estación también ha detectado el canal libre y ha transmitido una trama a la vez), la estación espera un tiempo aleatorio y comienza de nuevo. Este protocolo es mejor que los de tipo ALOHA, ya que, cuando las estaciones detectan el canal ocupado, no interrumpen esa comunicación. CSMA no persistente El protocolo CSMA no persistente funciona de forma similar al anterior, pero, en este caso, cuando una estación desea transmitir y encuentra el canal ocupado, no hace un chequeo continuo de él hasta que quede libre. En su lugar, espera un tiempo aleatorio y vuelve a comprobar el estado del canal. Si está nuevamente ocupado, vuelve a repetir el proceso; en caso contrario, envía la trama por el canal. CSMA/CD En el protocolo CSMA con detección de colisiones (CSMA/CD), las estaciones también esperan a transmitir si el canal se encuentra ocupado. Una vez que el canal queda libre, la estación comienza a transmitir. Inmediatamente, esa estación es capaz de comprobar si se está produciendo una colisión, por lo que puede abortar ese envío de forma casi instantánea. El no transmitir las tramas completas cuando se produce una colisión ahorra tiempo y ancho de banda. RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 179 CSMA/CA El protocolo CSMA/CA (Carrier Sense Multiple Access and Colision Avoidance o Acceso Múltiple con Detección de Portadora y Prevención de Colisiones) se utiliza en las redes locales inalámbricas (estándar IEEE 802.11). Funciona de igual forma que el protocolo CSMA, pero, en caso de que el medio esté ocupado, todas las estaciones que desean transmitir establecen un turno ranurado siguiendo un protocolo de mapa de bits. Paso de testigo El protocolo de paso de testigo (token passing) está libre de colisiones porque cada una de las estaciones tienen un intervalo definido de tiempo para transmitir. Para ello, utilizan una trama especial llamada testigo que las estaciones se van pasando unas a otras en orden. Solamente la estación que tiene en su poder ese testigo podrá transmitir y, cuando lo haga, cederá el testigo a la siguiente. Este protocolo se complica debido a que determinados errores físicos en la red o cuelgues en las estaciones pueden hacer que se pierda el testigo, por lo que son necesarios mecanismos que permitan restaurarlo. Mapa de bits El protocolo de mapa de bits es un ejemplo de acceso al medio en el que no se producen colisiones porque las estaciones mantienen un orden para utilización del canal. El tiempo de uso del canal se alterna en dos intervalos de tiempo: un primer intervalo de tiempo se dedica a que las estaciones se “hagan oír” e indiquen si desean transmitir una trama y una segunda parte en la que las estaciones que han mostrado su intención de transmitir lo hagan (solamente una trama). El primer intervalo de tiempo se divide en tantas ranuras como estaciones se encuentren conectadas al cable. Estas ranuras están numeradas de forma ascendente y, si una estación desea transmitir (por ejemplo, la 6), colocará un “1” en su ranura correspondiente (en este caso, será la ranura número 6). Las estaciones que no hayan puesto un “1” en su ranura en el intervalo de tiempo anterior no pueden transmitir, y deben esperar a que se realice otra vuelta. La figura 4.6 muestra un ejemplo gráfico de este tipo de transmisión. Figura 4.6. Ejemplo de transmisión usando el protocolo de mapa de bits. En el primer intervalo, solamente las estaciones 0, 6 y 8 desean transmitir, y colocan un “1” en sus ranuras correspondientes. En la segunda parte, se realiza la transmisión ordenadamente (primero la estación con un número más bajo) y, cuando acaban el proceso, se vuelve a repetir. 180 REDES DE ÁREA LOCAL RA-MA 4.6. INTERCONEXIÓN DE REDES Muchas organizaciones tienen diferentes LAN aisladas en sus departamentos que desean conectar. El problema fundamental radica en que esas LAN tienen diferentes topologías y diferentes métodos de acceso al cable, por lo que no es posible utilizar cableado, repetidores o concentradores para interconectarlas directamente. En otras muchas situaciones, el crecimiento en el número de estaciones de una LAN puede desembocar en graves problemas de rendimiento. Hay que tener en cuenta que la red utiliza un medio compartido y, si existen 1.000 estaciones conectadas, pasará bastante tiempo hasta que cada una reciba su turno para transmitir, o las colisiones se producirán muy frecuentemente. Son estas dos situaciones en las que se utilizan los dispositivos de interconexión de redes a nivel de enlace: los puentes (bridges) y los conmutadores (switches). En el mercado existe gran variedad de dispositivos de estas características, pero, conceptualmente hablando, sólo mencionaremos estos dos tipos. 4.6.1. Puentes El elemento genérico que permite interconectar redes de diferentes topologías y diferentes protocolos a nivel MAC y a nivel de enlace (por ejemplo, una red Ethernet con una red Token Ring) se llama puente. Este dispositivo realiza las adaptaciones necesarias de una LAN a otra, de forma que se pueden intercambiar información, salvando los obstáculos de incompatibilidad que las separan. Figura 4.7. Esquema básico de interconexión de un puente. El puente conecta una LAN Ethernet 10BASE-T con una Ethernet 10BASE-2. En su conector BNC hembra se ajusta un BNC en T, un latiguillo coaxial y un terminador BNC, al igual que se haría con una estación cualquiera. Un puente es un elemento de interconexión entre redes que está formado por dos conectores diferentes, cada uno de ellos enganchado a la red correspondiente. Por ejemplo, si el puente comunica una LAN Ethernet 100BASE-T con una LAN Ethernet RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 181 10BASE-2, tendrá dos conectores como mínimo: un RJ-45 y un BNC hembra36. Los puentes se comportan en la red como si fueran estaciones corrientes (a nivel de enlace de datos) y se conectan a ellas de la misma forma. Si el puente tiene que inyectar una trama en una LAN que utiliza el paso de testigo, deberá esperar su turno para capturar el testigo y transmitir, sin ningún privilegio, sobre el resto de estaciones. Al contrario que un concentrador, un puente se comporta como un filtro en la red, ya que sólo pasan por él las tramas que van desde una estación de una red a otra estación de la otra red. En cierto modo, el puente “retiene” dentro de cada subred a las tramas que no van destinadas al otro lado (cosa que no ocurriría si, en vez de un puente, se hubiera instalado un concentrador, si es que fuera posible). La estructura interna de un puente está formada por dos partes principales. En cada una de ellas, se encuentran los protocolos de nivel físico y nivel de enlace de las LAN que interconecta. La figura 4.8 muestra el funcionamiento interno de un puente que conecta dos LAN. Figura 4.8. Puente de 802.3 a 802.5. La principal tarea del dispositivo es adaptar los formatos de tramas de las dos redes, además de ajustar los diferentes protocolos MAC que utiliza. Además de adaptar a los formatos de tramas de las dos redes y utilizar sus correspondientes protocolos de acceso al medio, un puente también tiene que convertir las direcciones a nivel de enlace que utilizan las estaciones. Por ejemplo, si un puente interconecta un segmento Ethernet con otro ARCNet, deberá adaptar sus correspondientes formatos de direcciones. Cuando una estación del segmento Ethernet desea enviar información a una estación del segmento ARCNet, no puede especificar la dirección MAC del destinatario porque es incompatible con el protocolo. En su lugar, solamente podrá especificar la dirección MAC del puerto correspondiente del puente. Un puente puede tener más de un puerto y su aspecto exterior no diferirá mucho de un concentrador de cableado normal. 36 182 REDES DE ÁREA LOCAL RA-MA Es responsabilidad del puente sustituir la dirección de destino en la trama por la dirección de la estación destinataria al hacer la conversión de la trama, y antes de inyectarla en el segmento ARCNet. Pero ¿cómo especifica una estación de un segmento que quiere enviar información a otra estación de otro segmento si utilizan direcciones a nivel MAC incompatibles? La respuesta consiste en utilizar el mismo formato de direcciones para todos los segmentos a un nivel superior, es decir, utilizando direcciones a nivel de red. En el capítulo siguiente se expondrá el funcionamiento y la relación que existe entre las direcciones MAC y las direcciones de red, y cómo se establece una correspondencia mediante el protocolo ARP. Un puente se puede utilizar, además de para interconectar dos LAN diferentes, para permitir un mayor rendimiento de ellas. Supongamos que disponemos de 1.000 estaciones para montar una red; en esas condiciones, montar dos redes de 500 estaciones y conectarlas mediante un puente permite crear dos medios compartidos diferentes, con la mitad de estaciones cada uno. Esta opción ofrece una menor congestión y tráfico que si se montara una sola red usando concentradores exclusivamente. Los puentes pueden construirse de dos formas: por hardware o por software. Un puente hardware es un dispositivo específico para interconectar LAN. Por su parte, un puente software es un ordenador que se comporta como tal. En él se deben instalar dos tarjetas de red (una conectada a cada LAN) además de un programa informático que le confiere el comportamiento de puente. Figura 4.9. Redes locales conectadas por un puente software. Este tipo de conexiones funciona de la misma forma que los de la figura 4.7 y no existen variaciones significativas en su funcionamiento. Existen varios tipos de puentes, dependiendo de las redes que interconecten: Puentes de 802.x a 802.y: Este tipo de puentes permiten conectar redes de tipo IEEE 802, por lo que tenemos nueve combinaciones diferentes: de 802.3 a 802.3, 802.4 y 802.5; de 802.4 a 802.3, 802.4 y 802.5; de 802.5 a 802.3, 802.4 y 802.5. Cada una de estas combinaciones tiene sus propios problemas, ya que los formatos y longitudes de trama son diferentes, las velocidades de trasmisión de las redes son bastante dispares o tienen métodos de acceso al medio distintos. Estos puentes suelen descartar tramas problemáticas (como las que son demasiado grandes) y la mayoría RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 183 de las veces necesitan de la reconfiguración de algunos parámetros de las dos LAN que interconectan. Para más información sobre el estándar IEEE 802 a nivel de enlace de datos, consúltese el apartado 4.7 de este mismo capítulo. Puentes transparentes: Consiste básicamente en un puente que permita la transparencia completa, es decir, que, para instalarlo, no es necesario ninguna modificación en las redes locales donde se va a instalar. Un puente transparente trabaja en modo promiscuo, es decir, acepta todas las tramas transmitidas por cualquier LAN a la que está conectado, sin descartar ninguna. Puentes remotos: Se trata de puentes que permiten interconectar dos o más LAN (o segmentos de red) que se encuentran separadas a una gran distancia (y, por lo tanto, no se pueden conectar mediante un enlace local). Su conexión se realiza de forma que se coloca un puente en cada LAN y se conectan en pares mediante líneas punto a punto que, en general, conforman conexiones de área extensa (por ejemplo, líneas alquiladas a las compañías de teléfonos o líneas de la RTC). En la figura 4.10 se propone un ejemplo con varias LAN conectadas mediante este sistema. Figura 4.10. Interconexión de LAN mediante puentes remotos. Cada enlace distante necesita dos puentes remotos en los extremos. 4.6.2. Conmutadores Un conmutador es otro dispositivo que permite la interconexión de redes a nivel de enlace de datos. A diferencia de los puentes, los conmutadores sólo permiten conectar LAN que utilizan los mismos protocolos (a nivel físico y nivel de enlace) y su principal función consiste en segmentar una red para aumentar su rendimiento. 184 REDES DE ÁREA LOCAL RA-MA Como se vio en el apartado 4.5, en una red local existe un medio que comparten todas las estaciones. Al aumentar el número de éstas, aumenta también el tráfico en la red y, cuando cada una desea transmitir, debe esperar mucho más tiempo que le llegue su turno, o las colisiones se producirán con más frecuencia (dependiendo del protocolo que se use). En esas condiciones, es conveniente segmentar (dividir) la red utilizando un conmutador. Figura 4.11. Segmentación de una LAN utilizando un conmutador. La red resultante está formada por dos segmentos diferentes, cada uno de los cuales utiliza un medio compartido diferente. Al contrario que un concentrador de cableado, un conmutador envía las tramas que le llegan solamente por el puerto de salida donde se encuentra la estación destinataria. Para ello, el conmutador comprueba el campo de dirección del destino dentro de la trama y la redirige al puerto correspondiente. Cuando un conmutador conecta dos o más LAN, sólo pasan por él las tramas que van destinadas de una red a otra y que obligatoriamente deben pasar por este dispositivo de interconexión. La apariencia externa de un conmutador no difiere mucho de un concentrador de cableado, y normalmente estos dispositivos también disponen de gran cantidad de puertos (4, 8, 16, 24, etc.). Al igual que ocurre con los puentes, los conmutadores se comportan como estaciones normales, siempre a nivel de enlace de datos. Por lo tanto, cada uno de los puertos dispone de una dirección MAC que los identifica, y a ellos se pueden conectar desde estaciones normales hasta cualquier dispositivo de interconexión de redes, como concentradores o puentes. Aunque el funcionamiento interno de un puente y un conmutador son completamente distintos, cuando conectan dos LAN iguales (que tienen los mismos protocolos), su comportamiento frente a éstas es prácticamente idéntico, es decir, cuando se desea segmentar una red, se puede utilizar indistintamente un puente o un conmutador. Sin embargo, la opción de utilizar un conmutador para segmentar una LAN es más aconsejable, ya que el puente introduce retardos en la transmisión de las tramas, mientras que el conmutador realiza el procesado de tramas de una forma muy rápida. RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 185 Los puentes y los conmutadores se pueden utilizar para crear redes virtuales dentro del ámbito de una red local, si es que soportan este modo de trabajo. Para más información sobre el funcionamiento y administración de redes virtuales, consulte el apéndice F que está disponible en el CD-ROM incluido en este libro. 4.7. ESTÁNDARES En esta sección veremos algunos de los protocolos más utilizados tanto a nivel de enlace de datos como los pertenecientes al subnivel de acceso al medio. 4.7.1. Protocolo HDLC El protocolo HDLC (High-level Data Link Control o Control de Enlace de Datos de Alto Nivel) es un estándar a nivel de enlace de datos que incluye mecanismos para la detección y corrección de errores. Se utiliza en RDSI y en X.25, aunque no se siguen sus especificaciones completas, ya que es un protocolo muy extenso (se utiliza más bien otros protocolos derivados de éste, como SDLC, LAP-B, LAP-D, PPP, LLC o Frame Relay)37. El protocolo HDLC y sus derivados utilizan la técnica de relleno de bits y las marcas “01111110” para construir y manejar tramas. Para el control de errores utiliza una variante de la codificación CRC-CCITT, además de los acuses de recibo en las transmisiones y los números de secuencia en las tramas, lo que lo hace muy robusto. Por todo ello, las redes que utilizan HDLC en su nivel de enlace de datos no necesitan realizar control de errores a niveles superiores. Una trama HDLC está formada por varios campos, todos ellos expuestos en la tabla 4.4. Dentro del campo de control puede aparecer diferente información, dependiendo de si se trata de una trama de información o de acuse de recibo. Tabla 4.4. Formato de trama del protocolo HDLC 8 bits 8 bits 8 bits variable “01111110” Dirección Control Datos 16 bits 8 bits Suma de verificación “01111110” 4.7.2. Protocolo PPP El protocolo PPP (Point to Point Protocol) fue diseñado para permitir el acceso a la red Internet de cualquier computadora (grande o pequeña). Este protocolo realiza detección de errores, reconoce múltiples protocolos de niveles superiores, permite la verificación de la autenticidad de los mensajes y tiene muchas mejoras con respecto a su protocolo antecesor (SLIP). En realidad, el protocolo HDLC se deriva del protocolo SDLC inventado por IBM para su red SNA. 37 RA-MA 186 REDES DE ÁREA LOCAL PPP se encuentra en la capa de subred de la arquitectura TCP/IP y permite a un usuario acceder a todos los servicios de Internet a través de un módem RTC, RDSI o ADSL. Utiliza la técnica de relleno de caracteres para construir las tramas y es un protocolo orientado a la conexión, que permite la negociación del tamaño de los mensajes y la velocidad de transmisión. El formato de trama de PPP está expuesto en la tabla 4.5. Nótese que, aunque utiliza el relleno de caracteres, los marcadores de inicio y fin son las secuencias de bits “01111110”. El campo dirección siempre está al valor “11111111” ya que no se utilizan direcciones a este nivel (se trata de una línea punto a punto). El campo de control puede ser de dos tipos: para tramas sin numeración (donde PPP no proporcionaría control de errores) o para tramas numeradas, donde PPP realiza control de errores por números de secuencia. Tabla 4.5. Formato de trama del protocolo PPP 1 byte 1 byte 1 byte 1-2 bytes “01111110” Dirección Control Protocolo variable 2-4 bytes 1 byte Datos CRC “01111110” 4.7.3. Protocolos NDIS y ODI El problema que surge con la variedad de arquitecturas de comunicaciones que existen actualmente es debido a que, en principio, una estación cliente o servidor de la red solamente puede manejar una de ellas en un momento dado. Si el usuario desea comunicarse con servidores o estaciones que utilizan diferentes arquitecturas, deberá cargar y descargar sus controladores una y otra vez. Además, estos sistemas tampoco están preparados para manejar más de una tarjeta de red instalada en el ordenador. Para solucionar estos problemas, han surgido los protocolos NDIS y ODI y se utilizan a nivel de enlace de datos para que una estación de la red pueda utilizar diferentes protocolos de comunicación a niveles superiores, permitiendo también el uso de varios adaptadores simultáneos. La especificación ODI (Open Data-Link Interface o Interfaz Abierta de Enlace de Datos) fue introducida inicialmente en el año 1989 por Novell y Apple, con el objetivo de permitir el uso de múltiples arquitecturas de comunicaciones y múltiples tarjetas de red en una misma estación. ODI define una interfaz en la que aparece el LSL (Link Support Layer o Capa de Soporte al Enlace), que define cómo debe fluir la información entre protocolos, y el MLID (Multiple Link Interface Drivers o Enlace Múltiple a Controladores de Interfaz) que se encarga de gestionar el uso de varios adaptadores de red simultáneos. La figura 4.12 muestra de forma gráfica la especificación definida en ODI. Por su parte, el protocolo NDIS (Network Driver Interface Specification o Especificación de Interfaz de Adaptador de Red) fue diseñado por Microsoft y 3Com para estaciones con sistema operativo DOS, Microsoft Windows y OS/2 también con el propósito de permitir que una estación pudiera manejar diferentes adaptadores de RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 187 red. A diferencia de ODI, NDIS no da soporte a diferentes arquitecturas y pilas de protocolos (solamente maneja los protocolos de la red Microsoft), pero permite el uso de conexiones de red como RDSI, Frame Relay, ATM, Ethernet, Token Ring. Así mismo, NDIS y ODI pueden coexistir sin problemas dentro de un mismo ordenador, lo que permite extender los tipos de conexiones simultáneas que se pueden realizar. Figura 4.12. Especificación ODI. Ésta está formada por dos elementos fundamentales: el LSL, definido a nivel de control de enlace de datos, y el MLID, definido en la subcapa de acceso al medio. El primero se encarga de gestionar diferentes protocolos a niveles inferiores, mientras que el segundo controla el acceso a diferentes adaptadores de red instalados. 4.7.4. Estándar IEEE 802 Como se vio en el capítulo 3, apartado 3.8, el estándar IEEE 802 posee un conjunto de especificaciones muy amplio para redes de área local y define sus protocolos a nivel físico, MAC y enlace de datos. Las relaciones entre todos estos protocolos se establecen en la tabla 4.7. Si bien ya se han visto las especificaciones de este estándar a nivel físico, ahora hay que introducir las correspondientes a nivel MAC y nivel de enlace: IEEE 802.2: Define el subnivel de enlace de datos LLC (Logical Link Control o Control de Enlace Lógico). En esta capa es donde convergen los distintos protocolos que pueden existir en niveles inferiores (los RA-MA 188 REDES DE ÁREA LOCAL enumerados en los puntos siguientes), de forma que se establece una interfaz común y así se facilita la interacción con protocolos superiores. Aquí se permiten tres clases distintas de servicio que se pueden utilizar según las necesidades: servicio no orientado a la conexión y no fiable, servicio no orientado a la conexión y fiable y servicio orientado a la conexión y fiable. Una cabecera de trama 802.2 está basada en el protocolo HDLC, aunque con algunas diferencias. IEEE 802.3: Estándar que define las redes Ethernet (10BASE-2, 10BASE5, 10BASE-T, 10BASE-F y 10BROAD-36), Fast Ethernet (100BASE-T, 100BASE-F, etc.) y Gigabit Ethernet (1000BASE-T, 1000BASE-F, etc.). Utiliza el protocolo CSMA/CD en la subcapa de acceso al medio. IEEE 802.4: Este estándar define una LAN de topología en bus (Token Bus) que utiliza el protocolo de paso de testigo de la subcapa MAC. IEEE 802.5: Define una LAN con topología en anillo (Token Ring) y paso de testigo para el subnivel MAC. IEEE 802.6: Estándar que define las características de una red de área metropolitana (MAN) que utiliza una topología en doble bus. Para el protocolo de la capa MAC, se ha definido un algoritmo parecido a ALOHA ranurado, aunque mucho más perfeccionado. IEEE 802.7: Define las características de una LAN que utiliza técnicas de transmisión en banda ancha. IEEE 802.11: Estándar para redes locales inalámbricas. Define una transmisión mediante microondas, y un acceso al medio mediante el protocolo CSMA/CA. Actualmente se utiliza una revisión de este estándar en la mayoría de productos comerciales que se distribuyen en el mercado. Comparada con la versión original, esta revisión (conocida como 802.11b) permite una mayor velocidad de transmisión a la vez que su tasa de error es inferior. IEEE 802.12: Estándar que define las redes locales 100VG-AnyLAN con el protocolo de prioridad de demanda para el control del acceso al medio. Este método consiste en que es el concentrador de cableado el que decide qué estación debe transmitir en un momento dado, por lo que nunca se producen colisiones. Tabla 4.7. Relación entre los protocolos IEEE 802 Capa LLC MAC Físico 802.3 802.3 802.4 802.4 Protocolos 802.2 802.5 802.6 802.7 802.5 802.6 802.7 802.11 802.11 802.12 802.12 RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 189 Los estándares IEEE 802.8, 802.9 y 802.10 no definen realmente ningún tipo de red local ni protocolos, sino que se trata más bien de comités consultivos que estudian temas relacionados con la transmisión por fibra óptica (802.8), transmisión de voz y datos en redes locales (802.9) y seguridad en LAN (802.10). 4.7.5. Protocolos de nivel de enlace en FDDI El protocolo de nivel de enlace de FDDI es muy parecido al protocolo IEEE 802.5, ya que el formato de trama es muy similar y también utiliza el paso de testigo en anillo para el control de acceso al medio. Sin embargo, como ahora veremos, existen también algunas diferencias. Una trama de nivel de enlace en FDDI tiene varios campos, todos ellos mostrados en la tabla 4.7. Nótese que los indicadores de inicio y final de trama no se encuentran al principio y al final de ella. Tabla 4.7. Formato de trama en FDDI 8 bytes 1 byte 1 byte Preámbulo Inicio Tipo 4-12 bytes Sin límite 4 bytes 1 byte 1 byte Direcciones Datos CRC Fin Estado En lo que se refiere al protocolo MAC utilizado por FDDI, hay que decir que cada estación necesita capturar el testigo si desea transmitir. Las diferencias que existen entre este protocolo y el utilizado en el IEEE 802.5 se producen debido a que un anillo FDDI puede tener miles de estaciones conectadas y su tamaño puede ser de varios cientos de kilómetros. En esas condiciones, pueden existir varios testigos circulando por el mismo anillo de la red a la vez, por lo que el protocolo es un poco más complejo que 802.5. 4.8. EJERCICIOS 4.1. El siguiente fragmento de datos se envía utilizando el relleno de caracteres descrito en el tema. ¿Cuál es la salida del relleno que lleva a cabo el nivel de enlace para construir una trama? A, DLE, B, STX, C, D, DLE, DLE, STX, E, F 4.2. Si la cadena de bits siguiente se pasa al nivel de enlace para que construya una trama utilizando el relleno de bits, ¿cuál es la cadena completa de salida? 01111111101110111000111110011111100 4.3. Supongamos que recibimos la siguiente trama. ¿Cuál es la información en bits que contiene? 010011111100110011111011100110111111011110 RA-MA 190 REDES DE ÁREA LOCAL 4.4. Supongamos que recibimos la siguiente secuencia de bits. ¿Cuántas tramas completas se reciben? ¿Qué información contiene cada una de ellas? 010111111011011111011111011000111110011101111110111011111101111101110 00111111001111000101111110110100011111011011111101101 4.5. Comparemos los protocolos de enlace de datos HDLC, PPP, ATM y FDDI. Si suponemos que en todos ellos se transmiten tramas que contienen 64 bytes de información, ¿qué proporción de las tramas son datos y cuáles, control? 4.6. Supongamos que deseamos transmitir información utilizando el modelo de ATM. Para ello, se utilizará una red RDSI (que funciona con HDLC a nivel de enlace de datos) o FDDI. ¿Qué formato tienen las tramas que se transmiten según esos dos modelos? 4.7. ¿Se han producido errores al recibir la siguiente trama que utiliza el relleno de bits? ¿En qué dígitos? ¿Cuál es el mensaje original que se ha transmitido? 011111110011100111111100011101111110 4.8. Inventa un protocolo de control de tramas perdidas en el que se permita el envío de varias de ellas antes de esperar una confirmación. ¿Cómo controlarías la pérdida de una trama cuando ha sido enviada a la vez con otras? ¿Crees que es necesario volver a enviarlas todas? 4.9. Establece una ordenación de los protocolos de acceso al medio explicados en el capítulo desde los que ofrezcan un rendimiento mayor y los que resulten menos óptimos (es decir, aquéllos que aprovechen mejor o peor el uso del medio). 4.10. Supongamos que tenemos una LAN con 11 estaciones que utiliza el protocolo de mapa de bits en la capa MAC. Si este protocolo necesita 10 ms para que las estaciones realicen sus solicitudes de transmisión y 5 ms para transmitir cada trama, ¿cuál será el orden de transmisión de las tramas si las peticiones se realizan como muestra la siguiente tabla? Estación 0 1 2 3 4 5 6 7 8 9 10 1.ª trama 30 ms 75 ms 6 ms 0 ms 80 ms 15 ms 15 ms 55 ms 0 ms 20 ms 0 ms 2.ª trama 70 ms 100 ms 80 ms 10 ms – 155 ms 100 ms 110 ms 65 ms 85 ms 65 ms 3.ª trama – – – 120 ms – – 130 ms – 95 ms – 85 ms RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 191 4.11. Supongamos que una estación conectada a una LAN Token Bus toma el testigo para transmitir y, antes de devolverlo, se bloquea por un fallo interno, de forma que esa trama se pierde definitivamente. ¿Qué ocurre en este caso? ¿Qué estrategia crees que deberá seguir el protocolo de acceso al medio para controlar este tipo de situaciones? 4.12. Imagina que tienes tres LAN aisladas: dos Ethernet 100BASE-T y una Ethernet 10BASE-2. Deseas interconectarlas para que todas las estaciones puedan comunicarse entre sí. Explica con detalle todos los elementos que necesitas, desde conectores, cableado y dispositivos de interconexión. ¿Qué opciones de conexión se pueden realizar? ¿Cuáles son las más óptimas? 4.13. Indica cuál es la distancia de las siguientes palabras. ¿Son adyacentes? a) 100101011 y 110101011. b) 11011011111 y 101011011. c) 1001111011 y 1101111010. d) 10000011 y 10001010. e) 10001011001101 y 10001010001101. 4.14. Indica cuál es la condición necesaria para que un código sea capaz de detectar errores en N dígitos. A partir de ahí, crea un código que sea capaz de detectar errores en cuatro dígitos. 4.15. Comprueba cuál es la distancia de un código binario natural de 3 bits al que se le ha añadido un dígito de paridad. 4.16. Dados los siguientes códigos, indica cuáles son sus distancias y si son densos: Código A 0000 0001 0010 0011 0100 1011 1100 1101 1110 1111 Código B 010 011 000 001 101 100 111 110 – – Código C 0001 0010 0100 0111 1000 1011 1101 1110 – – RA-MA 192 REDES DE ÁREA LOCAL 4.17. Supongamos que utilizamos control de paridad bidimensional par para transmitir. El emisor envía los bloques de la izquierda y el receptor capta los de la derecha. ¿Se ha producido algún error en las transmisiones? ¿El receptor detecta el error? a) Bloque transmitido: 1 1 0 1 1 1 1 1 1 0 0 1 0 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 0 1 b) Bolque transmitido: 1 1 0 1 1 1 1 1 1 0 0 1 0 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 0 1 c) Bloque transmitido: 1 1 0 1 1 1 1 1 1 0 0 1 0 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 0 1 Bloque recibido: 1 1 0 1 1 1 1 1 1 0 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 0 1 Bloque recibido: 1 1 0 1 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 Bloque recibido: 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 0 1 1 0 0 0 1 1 1 1 1 1 1 0 1 4.18. A partir de un código binario natural de cuatro dígitos, obtén dos códigos capaces de detectar errores en un dígito. Para ello, añade los dígitos que creas conveniente. 4.19. Enuncia la condición necesaria para que un código sea capaz de corregir errores en N dígitos. A partir de ahí, construye un código que sea capaz de corregir errores en un dígito y otro que sea capaz de corregir errores en dos dígitos. 4.9. BIBLIOGRAFÍA Libros en castellano: [RAL97] Redes de área local Greg Nunemacher Paraninfo, 1997 RA-MA CAPÍTULO 4: CONTROL DEL ENLACE DE DATOS 193 [RDC97] Redes de computadoras Andrew S. Tanenbaum Prentice-Hall, 1997, 3.ª ed. Redes Locales José Luis Raya y Cristina Raya Ra-Ma, 2001 Páginas de Internet: [RED01] [CYBENET] Apuntes y trabajos de temas de informática en general Varios autores http://www.cybercursos.net/ [IEEORG] Estándares IEEE 802 Varios autores (en inglés) http://standards.ieee.org/getieee802/portfolio.htm [NOVCOM] Documentación productos Novell Varios autores (en inglés) http://www.novell.com/documentation-index/ [PROCOM] Documentación variada sobre protocolos e interfaces de red Varios autores (en inglés) http://www.protocols.com/protoc.shtml CAPÍTULO 5 EL NIVEL DE RED Si el capítulo anterior era de gran importancia para comprender el funcionamiento de las redes locales, este capítulo se centra, sobre todo, en redes de área extensa y cómo una LAN puede conectarse con una WAN. Si el nivel de enlace de datos juega un papel fundamental en redes locales, el nivel de red es muy importante en redes de área extensa. En este capítulo se introducirá brevemente todos los problemas que surgen en este nivel de la arquitectura, y se prestará especial atención en el direccionamiento que se utiliza en Internet, ya que es un concepto clave para cualquier persona que quiera adquirir buenos conocimientos de cara a la administración de redes. Figura 5.0. Dibujo de un satélite de comunicaciones 196 REDES DE ÁREA LOCAL RA-MA 5.1. INTRODUCCIÓN Los protocolos vistos hasta ahora, es decir, los correspondientes al nivel físico, nivel de enlace de datos y ahora nivel de red, son muy dependientes de las características de la red física. En redes de área extensa, la gestión de estos niveles suele ser responsabilidad de las compañías de telecomunicaciones propietarias, mientras que los protocolos a niveles superiores (transporte y aplicación) son responsabilidad del usuario. Por esta razón, en algunas arquitecturas como OSI aparece el concepto de subred o capas dependientes de la red (no se debe confundir este término con el nivel de subred incluido en TCP/IP). En la frontera que separa los servicios de la red y los usuarios es donde se encuentran definidas las características de los servicios que ofrece la red a sus clientes (si es orientado a la conexión, hay control de errores, etc.). En este capítulo se verán dos tipos de servicios principales que puede ofrecer la capa de red: servicio no orientado a la conexión y no fiable (caso de Internet y Novell NetWare) y servicio orientado a la conexión y fiable (caso de ATM). En el primer caso, si el usuario desea establecer conexiones o llevar a cabo un buen control de errores, será su responsabilidad llevarlo a cabo, utilizando protocolos más complejos a niveles superiores. Sin embargo, si la subred ya ofrece una comunicación fiable, el usuario no tendrá que preocuparse y podrá utilizar protocolos de capas superiores más sencillos. La capa de red se encarga de llevar los bloques de información desde el origen hasta el destino. Que esos bloques alcancen al receptor puede suponer muchos saltos por estaciones intermedias, característica que diferencia a esta capa con el nivel de enlace de datos, que sólo se preocupa de la comunicación entre estaciones conectadas al mismo cable. En una red local que utiliza un medio compartido, solamente existe una ruta posible para comunicar dos estaciones, por lo que el nivel de red apenas tiene trabajo; en su lugar, el nivel de enlace deberá realizar la tarea de comprobar si el mensaje va destinado a la estación (y si procede, capturarlo) o no, comprobando la dirección MAC del destinatario. Para poder realizar su trabajo convenientemente, la capa de red debe conocer la topología física y seleccionar las mejores rutas a través de ella; también deberá tener en cuenta rutas alternativas a modo de evitar congestionamientos o zonas más saturadas, de la misma forma que un viajero selecciona el camino a seguir. Normalmente, la capa de red utiliza algún método (dependiendo del protocolo) para guardar toda la información concerniente a la topología física de la red. 5.2. EL DISEÑO DE LA CAPA DE RED La topología de la red es un aspecto fundamental a tener en cuenta a la hora de diseñar los protocolos a nivel de red. Cuando se desea interconectar a un grupo de usuarios numerosos, una primera opción es la interconexión total, es decir, la conexión de todos con todos en forma de malla. De esta forma, es posible la comunicación entre RA-MA CAPÍTULO 5: EL NIVEL DE RED 197 cualquier pareja de usuarios y cada uno de ellos seleccionará la línea por la que desea transmitir (es decir, el usuario con el que desea conectar). Sin embargo, esta opción es impensable en general, debido a su alto coste y al escaso porcentaje de utilización de las líneas en las comunicaciones esporádicas. Como opción alternativa a la interconexión total, se plantea conectar a los usuarios (o redes locales) mediante enlaces punto a punto formando una topología irregular. En esas condiciones, cada usuario no puede especificar directamente con quién desea comunicarse, seleccionando la línea correspondiente. Por lo tanto, es necesario establecer otro mecanismo que permita especificar el usuario con el que se desea comunicar y asegurar que la información llegará a su destino. Recuérdese que el objetivo de una red es facilitar la comunicación entre cualquier pareja de estaciones. Figura 5.1. Estructura de una red WAN. Cada uno de los enlaces es punto a punto, es decir, solamente comunica dos estaciones situadas en sus extremos. Estas estaciones se denominan genéricamente nodos y actúan como emisores, receptores o simples intermediarios en la comunicación. Habitualmente, las redes de área extensa están compuestas de una serie de canales de comunicación y unas estaciones intermedias que pueden ser destinatarias de la información, pero que también se encargan de “guiar” correctamente la información cuando no son los destinatarios finales. No se suele emplear la interconexión total (como ya se ha mencionado anteriormente), aunque suele introducirse cierta redundancia para evitar que un fallo en un enlace aísle partes de la red. La función de cada elemento de conmutación, denominado nodo o IMP (Interface Message Processor o Procesador de Interfaz de Mensajes), es conducir la información en cada bifurcación de la red hacia su destino final. A esta tarea se le denomina encaminamiento. Puesto que existen más de dos estaciones conectadas a la red, es preciso que exista un esquema de selección o direccionamiento para que se pueda especificar el origen y destino de la información. Cada estación debe tener una dirección que la identifique de manera única del resto. 198 REDES DE ÁREA LOCAL RA-MA 5.2.1. Servicios proporcionados al nivel de transporte Los servicios de la capa de red deben estar disponibles para ser utilizados por los procesos de niveles superiores (habitualmente por el nivel de transporte) a través de la interfaz entre las dos capas. Esos niveles no deben conocer el tipo de red (o redes) sobre las que funcionan, y la capa de red debe ocultar todos esos detalles. Al igual que en otras capas de la arquitectura, los servicios del nivel de red se pueden diseñar orientados o no orientados a conexiones y con control de errores o sin control de errores. Un aspecto que le confiere gran importancia a estas decisiones de diseño tiene que ver con lo expuesto en el apartado 5.1: si se utilizan servicios orientados a conexión y fiables, es la red la que asume la complejidad, mientras que, si se utilizan servicios sin conexión y no fiables, es el usuario el que asume la complejidad en los protocolos (que tiene instalados). 5.2.2. Organización interna del nivel de red Existen varios mecanismos básicos de comunicación que pueden clasificarse en tres tipos: conmutación de circuitos, conmutación de mensajes y conmutación de paquetes. Todas ellas se verán en este apartado. La conmutación de circuitos es la técnica tradicional empleada en el sistema telefónico. Para transmitir la información, primero se establece una conexión, es decir, se reserva una ruta determinada de la red para uso exclusivo de esa transmisión (aunque puede estar multiplexada con otras comunicaciones). Una vez establecida la ruta, la información circula toda junta por ese camino y, cuando ya no hay nada que transmitir, es necesario liberar esa conexión. El inconveniente de esta técnica es que consume los mismos recursos de la red con independencia de la cantidad de información enviada. Por ejemplo, a un usuario que se comunica por teléfono la compañía le va a cobrar lo mismo si habla o permanece callado durante toda la conversación, y la conexión se reserva de todas formas. Por su parte, la conmutación de mensajes consiste en que el mensaje completo va pasando de un nodo a otro de la red sin que se establezca ninguna conexión ni se reserven rutas por antelación. Cada vez que el mensaje llega a un nodo, éste decide cuál es el mejor camino y lo manda al siguiente. Este tipo de transmisión es más adecuado para datos informáticos, mientras que la anterior se emplea más en comunicaciones orales. Esta técnica permite una mejor utilización de los recursos de la red, aunque cada nodo debe tener una gran cantidad de espacio para almacenar los mensajes que se van transmitiendo. Finalmente, la técnica de conmutación de paquetes se considera la más adecuada para transmisión de datos. Consiste en que el mensaje a transmitir se divide en bloques más pequeños que son enviados por la red sin establecimiento de conexión. Cada uno de esos fragmentos puede recorrer diferentes rutas y, aunque pueden llegar desordenados, los nodos no necesitan gran cantidad de memoria para almacenar los fragmentos. Si se produce algún fallo, el mensaje nunca se pierde por completo. RA-MA CAPÍTULO 5: EL NIVEL DE RED 199 La comparación de los tres mecanismos de conmutación se refleja en la figura 5.2, donde se aprecia que la conmutación de paquetes consigue enviar la información en un intervalo de tiempo menor al destino. Figura 5.2. Comparación entre los tres métodos de transmisión. En la conmutación de circuitos es necesario que los nodos intermedios se intercambien información para reservar la ruta seleccionada. En los otros dos casos, se supone que cada nodo necesita un tiempo para decidir cuál será el siguiente nodo al que enviará la información. Figura obtenida de [RDC97]. La conveniencia de emplear cualquiera de las combinaciones expuestas dependerá del tipo de aplicaciones para las que se diseñe la red. No necesita los mismos requisitos una aplicación en tiempo real que una de correo electrónico, por ejemplo. 5.3. FUNCIONES DEL NIVEL DE RED Como se mencionó en el apartado 5.1 introductorio al capítulo, las funciones principales que llevan a cabo los protocolos del nivel de red son las siguientes: encaminamiento de la información, control de la congestión y el direccionamiento, derivado de las dos anteriores. Seguidamente, se expondrán brevemente estos problemas, aunque no es el objetivo de este capítulo exponer con detalle los algoritmos que utilizan los protocolos a este nivel. 200 REDES DE ÁREA LOCAL RA-MA 5.3.1. Encaminamiento de la información El objetivo principal de una subred de comunicaciones es facilitar el diálogo entre las estaciones conectadas a ella. Debe encargarse de recoger los fragmentos que dichas estaciones transmiten y conducirlos a través de la red, hasta el destino deseado. Generalmente, existen varias rutas alternativas posibles y, por ello, se requiere el uso de un procedimiento de encaminamiento que seleccione la ruta más corta, rápida y con la mínima utilización de recursos. La selección de una ruta se basa, generalmente, en algún criterio de rendimiento. El criterio más simple es la elección de la ruta más corta, es decir, la que atraviesa el menor número de nodos con enlaces más cortos. Existen varias características deseables en una función ideal de encaminamiento; sin embargo, algunas son incompatibles entre sí. Por lo tanto, el objetivo de los diseñadores será llegar a una solución de compromiso entre todas ellas. Entre estas características, podemos destacar la simplicidad del algoritmo, el bajo consumo de los recursos disponibles (capacidad de cálculo y memoria en los nodos, intercambio de información de encaminamiento, etc.), fiabilidad en caso de fallos de la red, adaptación a los cambios en el tráfico y topología, etc. Dependiendo del algoritmo de encaminamiento utilizado, la información que utiliza suele almacenarse en estructuras conocidas como tablas de encaminamiento que pueden encontrarse en uno, varios o todos los nodos de la red. Cada tabla contiene, como mínimo, una entrada por cada destino posible y, asociado a éste, el enlace de salida que debe utilizarse para alcanzar el nodo siguiente de la red. Las tablas pueden contener, además, información de coste asociada a la ruta elegida, rutas alternativas, etc. Existe una gran diversidad de algoritmos de encaminamiento, con distintos niveles de sofisticación y eficiencia. Esta variedad se debe en parte a razones históricas y en parte a las distintas necesidades en diferentes redes. Solamente veremos unos pocos ejemplos de algoritmos de encaminamiento. EJEMPLO 5.1 Un ejemplo de algoritmo es el encaminamiento estático fijo, una de las estrategias más sencillas para establecer las rutas de envío de la información. En este caso, se selecciona un único camino para cada pareja de nodos fuente-destino en la red. Las rutas son fijas o, al menos, sólo cambian cuando se producen cambios en la topología de la red. La tabla de la página siguiente muestra cómo podría implementarse este tipo de encaminamiento según la topología mostrada en la figura 5.3. Se crea un directorio central que puede almacenarse en uno de los nodos de la red. No es necesario almacenar la ruta completa para cada par de nodos; es suficiente conocer, para cada par, la identidad del primer nodo de la ruta. En cada punto de la ruta únicamente será necesario conocer la identidad del próximo nodo; por lo tanto, en cada nodo sólo tiene que almacenarse una fila del directorio. RA-MA CAPÍTULO 5: EL NIVEL DE RED 201 Figura 5.3. Ejemplo de topología para encaminamiento estático fijo. Los números en los enlaces indican los costes de las conexiones. Se considera que, cuanto menor sea el valor del enlace, mayor será la velocidad de transmisión. La ventaja de este esquema es evidentemente su simplicidad además opera correctamente en una red fiable con carga estable. Su inconveniente es la falta de flexibilidad, ya que no reacciona adecuadamente ante fallos o congestión de la red. Nodo fuente A B C D E F A – C A C D D Nodo destino B C C C – C B – F C F D B D D C C D – D D E C F D E – E F C F D F F – EJEMPLO 5.2 Otro algoritmo de encaminamiento es la inundación. A diferencia de otros métodos, este algoritmo no utiliza tablas de encaminamiento ni se produce ningún intercambio de información de control entre los nodos. El método de inundación utiliza un algoritmo simple: al recibir un paquete, el nodo lo retransmite por todos sus enlaces, excepto aquél por el que llegó. El principal inconveniente que plantea este método es el gran número de paquetes que se generan, que llegaría a ser infinito si no se establece algún control. Existen diversas posibilidades para resolver este problema: Cada nodo puede mantener una lista de los paquetes ya transmitidos y, al recibir un duplicado, destruirlo y no retransmitirlo. Limitar el tiempo de vida del paquete, incluyendo un campo dentro de él como contador de saltos, que se decrementará cada vez que el paquete atraviese un nodo; cuando el contador llega a 0, el paquete se destruye. El valor del contador puede inicializarse al diámetro máximo de la red. 202 REDES DE ÁREA LOCAL RA-MA Este método de encaminamiento permite encontrar todas las rutas posibles entre el origen y el destino, entre ellas la ruta mínima. Además, es muy robusto, lo que hace adecuada su aplicación en entornos militares. Por su parte, el gran número de paquetes generados con este algoritmo presenta el inconveniente de que, en condiciones de elevada carga en la subred, puede incrementar sensiblemente el retardo de los paquetes transportados por ella. 5.3.2. Control de la congestión La congestión es el fenómeno que se produce cuando se concentra gran cantidad de tráfico (paquetes) en una zona determinada de la red, y puede afectar a uno o varios nodos. Figura 5.4. Relación entre paquetes enviados y recibidos en un nodo de la red. Con un aumento excesivo del número de paquetes recibidos, llega un momento en que el nodo se satura y deja de enviar, si es que no se ha establecido ningún protocolo para evitarlo. Si el tamaño del almacén temporal fuera ilimitado (caso ideal), entonces se llegaría a una situación en la que la tasa de envío o proceso de paquetes sería constante. Figura obtenida de [RDC97]. En una red, cada nodo necesita un intervalo de tiempo mayor que cero para procesar los paquetes que le llegan, dirigiéndolos hacia la mejor ruta o tomándolos en caso de ser el destinatario. Puede ocurrir que llegue un nuevo paquete al nodo mientras éste está procesando algún otro, así que debe existir un mecanismo o “almacén temporal” (memoria) que impida la pérdida de información en esos casos. Si se da la situación de que el nodo procesa los paquetes con más lentitud que son recibidos, entonces ese almacén comenzará a crecer y la velocidad de proceso en el nodo empezará a disminuir paulatinamente. Si el almacén temporal tuviera un tamaño RA-MA CAPÍTULO 5: EL NIVEL DE RED 203 infinito, el retardo de los paquetes, desde que entran hasta que salen, podría llegar a ser también infinito; en condiciones reales, el almacén se llena y habrá que adoptar medidas con los nuevos paquetes que van llegando. El efecto producido por la congestión en uno de los nodos de la red se muestra en la figura 5.4. Cuando se alcanza el punto de saturación y el nodo no puede absorber más paquetes, existen dos opciones para paliar esta situación: rechazar los nuevos paquetes que van llegando o ejercer un control más exhaustivo sobre los nodos vecinos, impidiendo que envíen nuevos paquetes. Ambas estrategias conducirán a la saturación de los nodos vecinos al que inicialmente tenía problemas, debido a que no podrán deshacerse de los paquetes que tenían para enviar. Así, la congestión en un punto de la red se propaga rápidamente hacia las zonas vecinas. Por ello, será deseable establecer algún otro tipo de control para evitar estas situaciones. Existe gran cantidad de algoritmos para el control de la congestión de una red, aunque no es objetivo de este libro exponerlos. Sin embargo, es conveniente puntualizar que todos esos procedimientos suelen comportarse de un modo adecuado, aunque la tasa de utilización de la red puede disminuir considerablemente. 5.3.3. Direccionamiento Para que los protocolos de nivel de red puedan encaminar correctamente los paquetes hacia su destino, es necesario que exista un mecanismo que identifique unívocamente a emisores y receptores. Este mecanismo o direccionamiento a nivel de red suele coexistir en la arquitectura con el direccionamiento a nivel de enlace, que se utiliza para distinguir entre estaciones conectadas al mismo cable. Podría darse la situación de que sólo fuera necesario uno de estos dos direccionamientos a niveles diferentes, pero en la realidad suele ser muy común la interconexión de redes LAN y WAN. Esta cuestión se verá más profundamente en el apartado 5.5. Un protocolo a nivel de red puede compararse con el sistema postal. Para que el cartero pueda entregar la correspondencia (paquetes) al destinatario correcto (nodo receptor), es necesario que éste distinga cada uno de los posibles receptores y conozca dónde viven (el enlace o enlaces a los que está conectado en la red). Podría distinguirse a unos usuarios de otros mediante su DNI, por ejemplo, pero este método complicaría mucho el reparto del correo; en vez de eso, se utiliza un direccionamiento que permite al cartero conocer a través de éste la localización exacta del destinatario y, con ello, la ruta a seguir para alcanzarlo. Así, un usuario se identifica con los siguientes datos: País, Provincia, Localidad, Calle, Número, Piso, Puerta, Nombre Se puede añadir información adicional para simplificar el reparto del correo (encaminamiento), utilizando, por ejemplo, un número de apartado de correos. Todas estas técnicas también se aplican para el direccionamiento a nivel de red; se verán con detalle en el apartado 5.5, para cada protocolo en concreto. 204 REDES DE ÁREA LOCAL RA-MA 5.4. INTERCONEXIÓN DE REDES Otra de las funciones a realizar por el nivel de red consiste en la adaptación que debe realizarse cuando las máquinas origen y destino se encuentran en distintas redes y utilizan diferentes protocolos. El dispositivo que se utiliza para interconectar redes que operan con una capa de red diferente (o iguales) es el encaminador (router). Dado que el encaminador funciona en el nivel de red (e inferiores), los protocolos de comunicación de ambos lados del encaminador deben ser iguales y deben ser compatibles con los niveles superiores al de red (transporte y aplicación). Los niveles inferiores pueden diferir sin afectar al encaminamiento. La figura 5.5 muestra el esquema genérico de funcionamiento de un encaminador. Figura 5.5. Esquema genérico de un encaminador. Posee integrados los protocolos de las dos redes que conecta, a nivel físico, enlace de datos y red. También tiene una parte superior donde llega la información sin formato (datos puros a nivel de red). En una red de área extensa, cualquiera de las estaciones intermedias en la transmisión de un mensaje se considera un encaminador. Esto es debido a que este dispositivo funciona a nivel de red y, por lo tanto, su función básica es dirigir los paquetes que recibe hacia su destino. Para ello, al recibir un paquete, debe extraer de éste la dirección del destinatario y decidir cuál es la mejor ruta, a partir del algoritmo y tabla de encaminamiento que utilice. Además, como es lógico, un encaminador dispone de sus propias direcciones a nivel de red. Al funcionar en un nivel superior al del conmutador, el encaminador posee más facilidades que permiten la configuración de ciertos parámetros de comunicación y distingue entre los diferentes protocolos a nivel de red (IP, IPX, etc.). Esto le permite hacer una decisión más inteligente que al conmutador, en el momento de reenviar los paquetes. Entre las cuestiones que un encaminador tiene en cuenta para enviar la información tenemos: RA-MA CAPÍTULO 5: EL NIVEL DE RED 205 Número de saltos o nodos intermedios hasta el destino. Velocidad de transmisión máxima de los enlaces. Coste de las transmisiones. Condiciones del tráfico en los enlaces. Figura 5.6. Varias LAN con acceso a Internet a través de un encaminador. Todas las estaciones de la red deberán configurarse para dirigir todos sus paquetes hacia el encaminador cada vez que quieran enviar información hacia el exterior. El encaminador puede conectar con la RTC, RDSI, ADSL, etc. El encaminador se utiliza en las siguientes condiciones: Proporciona seguridad a través de sofisticados filtros de paquetes (cortafuegos o firewalls). El encaminador dispone de rutinas que permiten configurar las conexiones de los usuarios de una LAN con el exterior, indicando si pueden pasar paquetes desde el exterior, las estaciones remotas con las que no está permitido comunicarse, etc. Integra diferentes tecnologías de enlace de datos, tales como Ethernet, Token Ring, FDDI y ATM. Permite la existencia de diferentes rutas alternativas contra congestionamientos y fallos en las comunicaciones. Puesto que el encaminador diferencia entre rutas, es posible conectar más encaminadores para crear nuevos caminos. 206 REDES DE ÁREA LOCAL RA-MA Puesto que un encaminador opera en la capa de red de la arquitectura, puede también ejecutar funciones de la capa de enlace de datos, es decir, el encaminador también crea diferentes dominios de colisiones separados en cada red y puede interconectar LAN con diferentes protocolos. Esto significa que se puede usar tanto un conmutador como un puente o un encaminador para segmentar una LAN y aumentar su capacidad de transmisión. A la hora de decidir cuál de ellos instalar, la selección óptima tendrá en cuenta los siguientes criterios: • Si la aplicación requiere soporte para rutas redundantes, envío inteligente de paquetes, control de la seguridad en las comunicaciones o el acceso a una red de área extensa, se debe seleccionar un encaminador. • Si la aplicación sólo requiere incrementar ancho de banda para descongestionar el tráfico o conectar redes diferentes, un conmutador o un puente será probablemente la mejor elección, ya que procesan y envían los mensajes a mayor velocidad (el encaminador suele introducir retardos debido al algoritmo de encaminamiento que utiliza). 5.5. ESTÁNDARES 5.5.1. La capa de red de TCP/IP En este apartado veremos la estructura y topología de la red Internet, para así poder justificar el diseño y funcionamiento de los protocolos de interred de TCP/IP. Todos los protocolos definidos en la capa de red de Internet dependen de IP (Internet Protocol o Protocolo de Interred). Éste establece el formato de paquetes y direcciones utilizado en esta capa y el tipo de servicio ofrecido. Direccionamiento y encaminamiento Realmente Internet no posee una estructura bien definida, aunque en general se puede identificar una jerarquía de interconexión: existen varias redes troncales principales (de un gran ancho de banda) conectadas mediante nodos encaminadores rápidos y redes regionales (de menor capacidad) donde están conectadas las LAN y los proveedores de acceso. Por esta razón, muchas personas se refieren a Internet como “la red de redes”. En la figura 5.7 se muestra esta organización jerárquica. Para que esta estructura funcione correctamente, se diseñaron en los años ochenta varios protocolos a nivel de red que permitieran que los paquetes fueran enviados correctamente a través de gran cantidad de redes heterogéneas. El más importante es IP (Internet Protocol o Protocolo de Interred), que establece el direccionamiento a este nivel y define el formato de los paquetes que se transmiten. El protocolo IP es no orientado a la conexión y no fiable, de forma que el establecimiento de conexiones y el control de errores lo debe llevar a cabo algún protocolo de transporte a niveles superiores. RA-MA CAPÍTULO 5: EL NIVEL DE RED 207 Figura 5.7. Estructura de la red Internet. En realidad está formada por multitud de redes diferentes interconectadas mediante redes troncales de gran capacidad. Las redes regionales pueden pertenecer a organismos gubernamentales, universidades o proveedores de acceso a Internet. Además del protocolo IP, existen otros protocolos a nivel de red en TCP/IP que se encargan de seleccionar las mejores rutas para el envío de la información hacia su destino, generando información de encaminamiento y actualizando las tablas dinámicas en los nodos. Los más utilizados son RIP38 (Routing Information Protocol o Protocolo de Información de Encaminamiento) y OSPF (Open Shortest Path First o Primero el Camino Abierto Más Corto). Dentro de la arquitectura de TCP/IP se puede utilizar cualquiera de estos dos protocolos, aunque OSPF ofrece mayor potencia y funcionalidad. Aunque no se verá la estructura completa de un paquete IP, sí mencionaremos que está formado por una cabecera y un bloque de datos; la cabecera se divide, a su vez, en una parte fija de 20 bytes y otra parte de longitud variable. En un paquete IP, además de la información, se incluyen las direcciones de origen y destino, suma de comprobación del encabezado, tiempo de vida del paquete, etc. Antes de explicar el funcionamiento de los protocolos de encaminamiento de TCP/IP, vamos a introducir los formatos de direccionamiento que se utilizan. Las direcciones IP que identifican encaminadores y estaciones de la red tienen un tamaño 38 Actualmente se utiliza la versión dos del protocolo RIP, llamada RIP-2. 208 REDES DE ÁREA LOCAL RA-MA fijo de 32 bits (en la versión 4 del protocolo). Estas direcciones se pueden especificar directamente en binario, aunque resulta más cómodo utilizar la notación decimal con puntos. Para pasar una dirección de binario a decimal, sólo hay que convertir los números tomando de ocho en ocho dígitos; posteriormente se separa cada número en decimal con puntos (de 0 a 255) para construir la dirección completa. El ejemplo 5.3 muestra varias direcciones IP en notación binaria con sus equivalentes en decimal. EJEMPLO 5.3 Una dirección IP está formada por un número en binario de 32 bits como, por ejemplo, la siguiente: 10001111010101100011110101100001 Puesto que resulta bastante engorroso trabajar con el sistema binario, resulta más sencillo especificar las direcciones IP como cuatro números comprendidos entre 0 y 255 separados por puntos. La conversión se realiza de 8 en 8 bits, como muestra la figura 5.8. Figura 5.8. Conversión de una dirección IP de binario a decimal. Cada grupo de 8 bits es convertido por separado, de forma que los números en decimal nunca serán más altos de 255. Puesto que no pueden existir dos estaciones o nodos de la red que tengan la misma dirección IP, con este método se pueden nombrar 232 = 4294967296 (aunque, como se verá después, no se pueden usar todas). Cuando se diseñó este método, se consideró que esta cantidad era suficiente para el ritmo de crecimiento esperado de Internet. Hoy en día se ha llegado al límite y las direcciones IP se han agotado. Una dirección IP consta de varios campos: un identificador que indica el tipo de dirección, un número de red y un número de estación dentro de esa red. Por lo tanto, nombrar a un equipo utilizando este protocolo es como especificar la dirección postal de un usuario: la calle y el número dentro de esa calle. Este direccionamiento es ideal en una red como Internet que está formada por redes más pequeñas, ya que el protocolo puede realizar el encaminamiento de una forma más sencilla. RA-MA CAPÍTULO 5: EL NIVEL DE RED 209 Tabla 5.1. Clases de direcciones en IP Clase IP A B C D39 E40 Identificador 0 10 110 1110 11110 N.º de red 7 bits 14 bits 21 bits 28 bits 27 bits N.º de estación 24 bits 16 bits 8 bits – – Tabla 5.2. Rangos de direcciones para las clases de IP Clase IP A B C D E Rango 1.0.0.0 – 127.255.255.255 128.0.0.0 – 191.255.255.255 192.0.0.0 – 223.255.255.255 224.0.0.0 – 239.255.255.255 240.0.0.0 – 247.255.255.255 N.º de redes 127 N.º de estaciones 16777216 16384 65536 2097152 256 – – – – Cuando se realizó el diseño del protocolo, el problema que surgió fue dividir la dirección entre número de red y número de estación: si se utilizaban muchos bits para numerar las redes, podrían existir muchas conectadas, pero el número de estaciones estaría muy limitado. Para conseguir una solución de compromiso, se optó por crear varios tipos de direcciones con diferentes tamaños de campos. La tabla 5.1 muestra los tipos de direcciones IP que existen. En la tabla 5.2 aparecen los rangos de números de red y estación que se pueden direccionar en cada clase. Esta clasificación permite que exista una gran cantidad de redes con un número pequeño de estaciones (clase C), además de redes con un número muy grande de estaciones (clase A). Las direcciones IP se configuran manualmente en las estaciones y es el NIC (Network Information Center o Centro de Información de la Red) la institución encargada de asignar las direcciones de Internet, para impedir duplicados. Esta autoridad sólo asigna la clase de red y el número de red, y cada administrador de red deberá asignar los sufijos de identificador de estación. Se asignan direcciones de clase A a grandes redes (con muchas estaciones), mientras que se dejan las de clase C a pequeñas redes. Las direcciones IP de clase D se utilizan para transmitir un mismo mensaje a un conjunto de estaciones. A estos mensajes también se les conoce como mensajes de difusión o broadcast. 40 Las direcciones de clase E se reservaron para usos futuros y sólo se utilizan experimentalmente. 39 RA-MA 210 REDES DE ÁREA LOCAL EJEMPLO 5.4 Supongamos que tenemos una LAN conectada a Internet mediante un encaminador y solicitamos al NIC una dirección IP para numerar las estaciones. Esta dirección será de clase C ya que no se prevé que la red se amplíe a más de 200 estaciones. El NIC da respuesta a nuestra solicitud asignándonos la siguiente dirección IP: 192.118.64.0. Esta IP es una dirección de red, es decir, indica cuál es el número de nuestra red ya que el número de estación tiene el valor 0. A partir de ésta, deberemos numerar las estaciones de la red, comenzando siempre por la número 1: Estación N.º 1 2 3 4 5 ... 253 254 Dirección IP 192.118.64.1 192.118.64.2 192.118.64.3 192.118.64.4 192.118.64.5 ... 192.118.64.254 192.118.64.254 Dirección IP en binario 11000000.01110110.01000000.00000001 11000000.01110110.01000000.00000010 11000000.01110110.01000000.00000011 11000000.01110110.01000000.00000100 11000000.01110110.01000000.00000101 11000000.01110110.01000000.11111101 11000000.01110110.01000000.11111110 Por lo tanto, en nuestra LAN pueden existir como máximo 254 estaciones, ya que la dirección 192.118.64.255 se utiliza para enviar un paquete a todas las estaciones de la red (difusión). Si se espera que la red crezca a un número de estaciones muy elevado, entonces se solicitaría al NIC una dirección IP de clase A o B o, incluso, varias direcciones IP de clase C. De las direcciones indicadas en la tabla 5.2 hay algunas que no se pueden asignar a ninguna estación ya que su uso está reservado para el propio protocolo. Por ejemplo, la dirección IP 0.0.0.0 se usa por las estaciones cuando están siendo arrancadas (hasta que se completa la carga del sistema operativo), pero no se usa después. La dirección 127.0.0.1 se reserva para especificar la estación actual, de forma que puede referirse a ella cuando se desea especificar el ordenador local (al igual que podría utilizar la dirección IP asignada). Las direcciones IP con número de estación todo ceros (en binario) se refieren a la red actual (una red también debe tener una dirección IP por cuestiones de encaminamiento). Las direcciones con número de estación todo a unos (en binario) se utilizan para difusión (broadcast), es decir, enviar mensajes a todas las estaciones dentro de la misma subred41 (es decir, para todas las estaciones que tienen el mismo identificador de número de red). No hay que confundir las direcciones de difusión de las subredes (utilizadas para enviar un mensaje a todas las estaciones dentro de la misma subred) con las direcciones de clase D, que, más bien, se utilizan para agrupar estaciones y enviarles mensajes de difusión (éstas pueden pertenecer a redes o subredes distintas). 41 Una subred es equivalente a un segmento de red, pero no al revés. RA-MA CAPÍTULO 5: EL NIVEL DE RED 211 Además de esas direcciones reservadas, se han establecido otros rangos de direcciones IP para ser asignados a redes locales que se conectan a Internet a través de un proxy42 o mediante un encaminador que sigue el protocolo NAT (Network Adress Translation o Traducción de Direcciones de Red). Para la clase A se reserva la dirección de red 10.0.0.0; para la clase B, desde la 172.16.0.0 a la 172.31.0.0 y para la clase C, desde la 192.168.0.0 a la 192.168.255.0. Esto significa que todas esas direcciones se pueden utilizar a la vez por distintas redes locales gracias a la utilización de un encaminador basado en NAT. El encaminador sustituye las direcciones de origen y destino de los equipos de la red interna por la dirección externa del dispositivo (ya que es una dirección válida en el exterior de la red) de forma que las direcciones internas de la LAN quedan ocultas al exterior. Al mismo tiempo, el encaminador recuerda los paquetes enviados para sustituir las direcciones de destino en caso de que se reciban paquetes de respuesta desde la red externa. Este tipo de conversión se muestra como un caso práctico en el ejemplo 5.5. Gracias al uso del protocolo NAT, se extiende el espacio de direcciones que puede asignarse a las estaciones de Internet, con lo que se ve paliada en cierta medida la escasez de direcciones después del crecimiento tan alto que ha sufrido en los últimos años. EJEMPLO 5.5 Veamos cómo funciona NAT en un encaminador. Supongamos que tenemos una red local conectada a Internet cuya estructura y asignación de direcciones se muestra en la figura 5.9. Imaginemos que la estación A (cuya dirección IP es 10.0.0.1) desea enviar un paquete a la estación B (cuya dirección IP es 68.15.224.97), la cual contestará con otro paquete de respuesta. Los pasos que se siguen en la traducción NAT para este caso son: 1. La estación A envía el paquete a la red. La dirección de origen es 10.0.0.1 y la de destino es 68.15.224.97. 2. El encaminador detecta ese paquete y comprueba que la dirección de destino está en una red externa. Antes de enviar el paquete, sobrescribe la dirección de origen y guarda esta comunicación en una tabla local. El paquete llevará ahora la dirección de origen, 198.64.126.1, y la de destino, 68.15.224.97. 3. La estación B recibe el paquete, y contesta con otro cuyas direcciones de origen y destino son, respectivamente: 68.15.224.97 y 198.64.126.1. 4. El encaminador recibe el paquete, comprobando que existe en su tabla local una comunicación establecida entre 10.0.0.1 y 68.15.224.97. Por lo tanto, antes de inyectar ese paquete en la red local, modifica la dirección de destino. Ahora el paquete llevará la dirección de origen 68.15.224.97 y 10.0.0.1 como dirección de destino. Un proxy es un ordenador que posee un módem (RTC, RDSI, ADSL, etc.) para acceso a Internet y que está compartido por el resto de estaciones de la red mediante un programa específico. 42 RA-MA 212 REDES DE ÁREA LOCAL 5. Finalmente, la estación A comprueba que el paquete que circula por la red lleva su dirección de destino; por lo tanto, podrá tomarlo como propio. Figura 5.9. Ejemplo de asignación de direcciones en una traducción NAT. El encaminador posee una dirección interna y otra externa, esta última utilizada para representar a toda la red desde el exterior. Tabla 5.3. Ejemplos de direcciones IP Dirección de estación 118.64.248.86/8 129.0.186.63/16 221.118.7.19/24 Observaciones Clase A. Se usan 8 bits para el prefijo de red y 24 bits como número de estación. Clase B. Se usan 16 bits para el prefijo de red y 16 bits como número de estación. Clase C. Se usan 24 bits para el prefijo de red y 8 bits como número de estación. Actualmente, a las clases de direcciones IP también se las conoce por “/8” (clase A), “/16” (clase B) y “/24” (clase C), refiriéndose a que la dirección IP tiene 8, 16 ó 24 bits de prefijo (compuesto por los bits de clase más los de número de red), respectivamente. Derivada de esta nueva notación, ha aparecido otra nueva forma de nombrar una dirección IP. Ésta consiste en especificar la dirección en notación decimal con puntos seguida de una barra inclinada y del número de bits que componen el prefijo. Ejemplos de este tipo de notación aparecen en la tabla 5.3. RA-MA CAPÍTULO 5: EL NIVEL DE RED 213 EJEMPLO 5.6 Supongamos que tenemos dos LAN, 198.64.126.0 y 216.89.3.0. Si utilizamos un encaminador para interconectarlas, éste tendrá dos direcciones IP diferentes (una para cada red que conecta). Cada una de esas direcciones será del tipo correspondiente a la LAN. La figura 5.10 muestra un ejemplo de asignación de IPs. Figura 5.10. Asignación de direcciones IP en LAN con encaminadores. Se asignan direcciones a cada una de las redes, a cada una de las estaciones y a los encaminadores. Como se ha mencionado anteriormente, cada estación de la red debe disponer de una dirección IP única, es decir, diferente del resto. Así mismo, los encaminadores también deben tener direcciones únicas, pero en este caso tendrán tantas como redes conecten (es decir, como el número de puertos que dispongan). Esto es debido a que los encaminadores trabajan a nivel de red, como se expuso en el apartado 5.4. Así mismo, ninguna estación ni ningún puerto de los encaminadores puede tener asignada más de una dirección IP. Pero ¿cuál es la razón de ser de las direcciones IP? La razón principal del uso de este formato consiste en simplificar y optimizar los algoritmos de encaminamiento en los nodos de la red. Al igual que ocurre con el servicio postal, dividir la dirección en partes permite llegar al destinatario de una forma más sencilla y rápida, puesto que en ambos casos esas direcciones guardan información sobre su localización. Así mismo, este método permite reducir el número de entradas en las tablas de encaminamiento de los nodos. Antes de hablar del encaminamiento en las estaciones finales de la red, vamos a tratar el funcionamiento de los encaminadores. Cada uno de estos dispositivos dispone de una tabla con los posibles destinos en forma de direcciones IP. En cada fila de esta tabla se especifica la dirección de las redes a las que se puede llegar (destinos), la dirección IP del puerto del encaminador por el que debe salir el mensaje y el número de encaminadores intermedios que es necesario atravesar (o algún otro RA-MA 214 REDES DE ÁREA LOCAL parámetro que especifique el coste de ese camino, lo que se conoce como la métrica). Estas tablas las utiliza el protocolo RIP (u OSPF) y se actualizan dinámicamente mediante el envío de información entre los encaminadores. En una tabla de encaminamiento puede aparecer más de una entrada con la misma dirección IP de red de destino, y esta situación se da cuando existen varias rutas distintas que alcanzan ese mismo destino. El ejemplo 5.7 muestra una red con encaminadores y las tablas que tiene cada uno de ellos. EJEMPLO 5.7 Supongamos que tenemos una red tal y como aparece en la figura 5.11. Figura 5.11. Red local formada por segmentos y encaminadores. Este ejemplo permite comprobar cómo se realiza el encaminamiento usando direcciones IP. La elipse rotulada como “Internet” representa al resto de equipos de la red. La tabla de encaminamiento del dispositivo A es la siguiente: Red destino Siguiente 216.89.3.0 216.89.3.1 198.64.126.0 198.64.126.1 188.119.0.0 198.64.126.20 default 198.64.126.21 Saltos 0 0 1 1 RA-MA CAPÍTULO 5: EL NIVEL DE RED 215 La entrada que especifica el destino default43 (por defecto) indica que para el resto de direcciones que no pertenezcan a las redes 216.89.3.0, 198.64.126.0 y 188.119.0.0 el encaminador deberá enviar los paquetes al dispositivo cuya dirección IP es 198.64.126.21. Por su parte, la tabla de encaminamiento de B es la siguiente: Red destino 216.89.3.0 198.64.126.0 188.119.0.0 default Siguiente 198.64.126.1 198.64.126.20 188.119.0.1 198.64.126.21 Saltos 1 0 0 1 Obsérvese que, si el destino es directamente accesible (está en la misma red que el propio encaminador), el valor del número de saltos o métrica44 es 0 y no es necesario especificar la dirección del siguiente dispositivo (también se puede indicar la dirección IP del puerto del encaminador, como aparece en las tablas). En caso contrario (es decir, la red de destino no es directamente alcanzable), en la correspondiente entrada de la tabla se especifica la dirección IP del puerto del siguiente encaminador. Finalmente, la tabla de encaminamiento de C es la siguiente: Red destino 216.89.3.0 198.64.126.0 188.119.0.0 23.0.0.0 default Siguiente 198.64.126.1 198.64.126.21 198.64.126.20 23.65.211.79 23.65.211.80 Saltos 1 0 0 0 1 Hay que tener en cuenta que la dirección 23.65.211.80 pertenece a un encaminador externo que se encuentra dentro de la elipse marcada como “Internet” en la figura 5.11. Si se observa el ejemplo 5.7, en las tablas de encaminamiento no aparecen direcciones de estaciones destinatarias, sino solamente de redes destinatarias. Esta característica hace que en el ejemplo cada tabla tenga solamente tres entradas en vez de las 11 necesarias para especificar todos los posibles equipos de destino. A esta ruta por defecto se le suele llamar default gateway (pasarela o encaminador por defecto). 44 En los ejemplos expuestos en este capítulo sobre tablas de encaminamiento IP se ha utilizado como métrica, por simplicidad, el número de salto o encaminadores intermedios que hay que atravesar para llegar al destino. Sin embargo, los protocolos RIP y OSPF utilizan una mayor cantidad de información para establecer las mejores rutas hacia el destino (métricas como el grado de congestión de la red en los enlaces, etc.), información que obtiene de los encaminadores vecinos. 43 216 REDES DE ÁREA LOCAL RA-MA El uso de las direcciones IP y los algoritmos de encaminamiento RIP y OSPF permite que los nodos encaminadores conozcan a través de éstas la localización aproximada de una estación de la red. Cuando un encaminador recibe un paquete, toma la dirección IP de la estación destinataria, pone a cero todos los bits de número de estación y la compara con las entradas disponibles en su tabla. Así sabe si el destino está en la misma red o es necesario enviar el paquete a otro encaminador. Cuando un encaminador desea poner a cero todos los bits de número de estación para obtener una dirección de red, debe utilizar la máscara de red. Ésta consiste en una especie de dirección que tiene todo unos en la parte de prefijo y todo ceros en el resto. La máscara se aplica utilizando el operador Y lógico a nivel de bits para obtener una dirección de red. EJEMPLO 5.8 Tomemos el ejemplo 5.7. Figura 5.12. Ejemplo de red local con encaminadores. Cada estación debe saber si sus homónimas resultan directamente accesibles en la misma red o existe un encaminador intermedio. Las máscaras de las direcciones de red existentes son las siguientes: Red Máscara Máscara en binario 216.89.3.0 255.255.255.0 11111111.11111111.11111111.00000000 198.64.126.0 255.255.255.0 11111111.11111111.11111111.00000000 188.119.0.0 255.255.0.0 11111111.11111111.00000000.00000000 23.0.0.0 255.0.0.0 11111111.00000000.00000000.00000000 Clase C C B A Veamos ahora cómo se comportan las estaciones finales de cara al encaminamiento. Supongamos la estructura de la figura 5.12. La estación 216.89.3.3 puede enviar directamente paquetes a las estaciones situadas en su mismo segmento (216.89.3.4 y 216.89.3.5). Sin embargo, si desea enviar un paquete a cualquiera de las estaciones del segmento 198.64.126.0, necesita indicar de algún modo que éste debe pasar primero por el encaminador que tiene la dirección 216.89.3.1. RA-MA CAPÍTULO 5: EL NIVEL DE RED 217 Cada estación de la red dispone también de una pequeña tabla de encaminamiento que especifica qué estaciones están en la misma red (tienen la misma dirección de red y subred) y cuáles son accesibles a través de otros encaminadores. Por ejemplo, para la estación 216.89.3.3 de la figura 10.2 la tabla es: Red destino 216.89.3.0 198.64.126.0 Siguiente – 216.89.3.1 Saltos 0 1 Utilizando la tabla anterior, el equipo 216.89.3.3 sabe que se encuentra en la red 216.89.3.0 y que necesita el encaminador 216.89.3.1 para enviar los paquetes destinados a los equipos de la red 198.64.126.0. Dependiendo del sistema operativo utilizado, la configuración de estas tablas locales puede ser más o menos flexible. En el año 1985, se definió un procedimiento para que el protocolo RIP soportara las subredes, esto es, la división de una dirección de clase A, B o C en direcciones de subred más pequeñas. Esta modificación se introdujo debido a la aparición de dos problemas graves conforme Internet crecía: Las tablas de encaminamiento de los nodos estaban empezando a crecer. Cada vez que a un administrador de red se le quedaba pequeña la IP, debía solicitar otra nueva al NIC antes de conectar la LAN con las nuevas estaciones. La solución a estos problemas consiste en crear otro nivel en la jerarquía de direcciones IP, de forma que se pueden utilizar tres niveles para nombrar un equipo: número de red, número de subred y número de estación. Esta división se realiza partiendo el campo de número de estación en dos partes, de forma que desde el exterior los encaminadores creen que se trata de una única red sin subredes. La figura 5.13 muestra gráficamente la división en tres niveles jerárquicos de una dirección IP. Cuando se utilizan subredes, al conjunto formado por el prefijo de red y al número de subred se le llama prefijo de red extendido. La división en subredes permite que las LAN puedan disponer, por ejemplo, de una sola dirección IP de clase B en lugar de varias de clase C, o una sola dirección de clase A en lugar de varias de clase B, manteniendo las subredes internas. Fuera de la red, la estructura no es visible, por lo que una nueva subred no requiere comunicación con el NIC ni la modificación de tablas externas. Desde el exterior, todas las subredes de la organización se ven como una única red con una sola dirección IP asignada, de forma que los encaminadores del exterior reducen sus tablas. Cuando tienen que enviar un paquete a una estación que está en una subred, se limitan a enviarlo al encaminador que comunica la LAN, que es el que realmente debe conocer la estructura interna en subredes. 218 REDES DE ÁREA LOCAL RA-MA Figura 5.13. División en subredes de una dirección IP. Si inicialmente se utilizan dos números para especificar la dirección de una estación, con las subredes hacen falta tres, sin modificar el tamaño de las direcciones. EJEMPLO 5.9 Supongamos que disponemos de varias subredes conectadas todas ellas a un encaminador para el acceso a Internet. En estas condiciones, para numerar las estaciones, se pueden utilizar varias direcciones IP de clase C o una sola dirección IP de clase B que utiliza subredes. En el primer caso (figura 5.14), un nodo encaminador externo conectado a A (cuya dirección de puerto es 23.210.86.19) debe conocer todas las direcciones IP de clase C de esa parte de la red para dirigir allí los paquetes. Figura 5.14. Utilización de varias direcciones IP de clase C. Un encaminador externo debe incluir en sus tablas todas las direcciones de clase C que se han asignado a esta red. RA-MA CAPÍTULO 5: EL NIVEL DE RED 219 En caso de que el administrador de la red necesite instalar una nueva subred, deberá solicitar una nueva dirección IP de clase C. Algunas de las entradas de la tabla de encaminamiento de ese nodo externo son: Red destino 210.0.64.0 218.46.169.0 194.118.240.0 223.255.15.0 Siguiente 23.210.86.19 23.210.86.19 23.210.86.19 23.210.86.19 Saltos 3 2 2 1 En el segundo caso (figura 5.15), si el administrador de esa red desea instalar una nueva subred, solamente tendrá que utilizar un nuevo número de subred. Además, los nodos encaminadores externos solamente se referirán a toda esa red con un único número, es decir, una única entrada en su tabla de encaminamiento. Por lo tanto, todas las entradas anteriores del encaminador externo se reducen a una sola: Red destino 183.67.0.0 Siguiente 23.210.86.19 Saltos 1 Figura 5.15. Utilización de una dirección IP de clase B y subredes. Es estas condiciones, se podría utilizar 8 bits como número de subred y 8 bits como número de estación. En el primer caso, el encaminador externo conectado a A aplica la máscara 255.255.255.0 a todas las direcciones que se refieren a las subredes de la figura 5.13. Al obtener la dirección de red, aplicará la tabla de encaminamiento expuesta anteriormente. 220 REDES DE ÁREA LOCAL RA-MA En el segundo caso, el encaminador externo conectado a C aplica siempre la máscara 255.255.0.0 a cualquier dirección destino que aparece en la figura 5.15. Cuando ese paquete llega al encaminador C, éste aplica la máscara 255.255.255.0 para saber a qué encaminador interno (A o B) debe enviarlo, o si la estación destino está en la propia subred (183.67.4.0). Como se ha visto en el ejemplo 5.9, la utilización de subredes hace que las máscaras deban tomarse a partir del prefijo de red extendido, y no a partir del prefijo de red correspondiente a la clase. Por esta razón, el uso de subredes hace que la máscara aplicable no se corresponda con la clase de dirección IP utilizada. A las máscaras tomadas a partir del prefijo de red extendido se les llama máscaras de subred. En la figura 5.14 se utilizaba una dirección de clase B, donde la máscara de red es 255.255.0.0 y la máscara de subred es 255.255.255.0. Solamente los encaminadores de la red interna utilizan la máscara de subred, mientras que el resto de encaminadores externos a la red no conocen esa división y, por lo tanto, aplican la máscara de red correspondiente a la clase. Cuando se utiliza el algoritmo de encaminamiento RIP-1, no es posible utilizar los números de subred todo a ceros y todo a unos. En el primer caso, la dirección de la subred 0 se confunde con la dirección de red (192.168.0.0/24 y 192.168.0.0/27 se confunden debido a que tienen la misma dirección), ya que el protocolo no incluye información sobre el prefijo de red extendido. En el segundo caso, la dirección de la subred todo a unos se puede confundir con la dirección de difusión de la red. Sin embargo, si se utilizan algoritmos de encaminamiento más avanzados, como RIP-2 u OSPF, entonces se pueden definir sin problemas las subredes con valor todo a ceros y todo a unos. Aunque en el ejemplo anterior se han tomado de ocho en ocho dígitos para especificar un número de subred en una dirección IP, en la práctica puede resultar más conveniente tomar un número de bits que no sea múltiplo de 8, teniendo en cuenta las necesidades de la red y los criterios seguidos por el administrador. El ejemplo 5.9 muestra algunos casos de división en subredes. En muchas situaciones puede ocurrir que la división en subredes complique la conversión de las direcciones entre decimal y binario. EJEMPLO 5.10 Algunos ejemplos de direcciones IP en subredes, especificando la longitud del prefijo de red, la longitud del prefijo de red extendido y la máscara de subred es: Dirección IP: 126.243.86.15/16 Máscara de subred: 255.255.0.0 8 bits para n.º de red. 8 bits para n.º de subred. 16 bits para n.º de estación. Dirección IP: 189.34.12.230/24 Máscara de subred: 255.255.255.0 16 bits para n.º de red. 8 bits para n.º de subred. 8 bits para n.º de estación. RA-MA CAPÍTULO 5: EL NIVEL DE RED 221 Dirección IP: 10.248.63.11/10 Máscara de subred: 255.192.0.0 8 bits para n.º de red. 2 bits para n.º de subred. 22 bits para n.º de estación. Dirección IP: 192.168.12.144/27 Máscara de subred: 255.255.255.224 24 bits para n.º de red. 3 bits para n.º de subred. 5 bits para n.º de estación. Dependiendo también de la versión del protocolo y del sistema operativo instalado, es posible que una estación pueda comunicarse con los ordenadores que tienen una dirección de subred distinta. Esta situación se muestra en el ejemplo 5.11. Sin embargo, hay que tener en cuenta que el protocolo no admite que se comuniquen directamente dos estaciones que tienen direcciones de red distintas. EJEMPLO 5.11 Supongamos que tenemos la estructura de direcciones en la red local de la figura 5.16. Como se puede observar, las direcciones están distribuidas en dos subredes: la 10.1.0.0/16 y la 10.2.0.0/16. La pregunta que surge es: ¿es posible que las estaciones de las subredes diferentes puedan comunicarse? A primera vista la respuesta más sensata es no. Figura 5.16. Ejemplo de red local formada por subredes distintas. Dependiendo de la versión del protocolo, las estaciones de subredes distintas podrán comunicarse o no. Aunque las estaciones finales no funcionan como encaminadores (a no ser que se configuren a tal efecto), sí tienen cierta capacidad para realizar esta función, si es que el sistema operativo y la versión de TCP/IP que tengan instalados lo permita. Esa capacidad limitada de encaminamiento tiene que ver con el envío de paquetes entre diferentes subredes (por definición del protocolo la comunicación entre redes nunca es posible a no ser que exista un encaminador intermedio). Por ejemplo, para que la estación 10.1.0.1/16 pueda comunicarse con cualquier estación de la subred 10.2.0.0/16, debe tener una tabla de encaminamiento como la siguiente: RA-MA 222 REDES DE ÁREA LOCAL Red destino 10.1.0.0/16 10.2.0.0/16 Siguiente – – Saltos 0 0 Como se puede observar, en la tabla se especifica que, tanto la subred 10.1.0.0 como la subred 10.2.0.0, resultan directamente accesibles sin necesidad de usar encaminadores intermedios. Como se ha mencionado anteriormente, esta situación resulta válida si las dos subredes se encuentran dentro de la misma red (es decir, tienen el mismo número de red). No sería admisible, por el contrario, una tabla con las siguientes entradas: Red destino 10.1.0.0/16 24.0.0.0/16 Siguiente – – Saltos 0 0 Hay que recordar también que no es necesario especificar subredes para poder comunicar las estaciones directamente. En este ejemplo, bastará indicar que se va a utilizar una máscara /8 en vez de /16. La selección del número de bits para subred se obtiene de contestar a las siguientes preguntas: ¿Cuántas subredes en total son necesarias ahora? ¿Cuántas subredes en total serán necesarias en el futuro? ¿Cuántas estaciones tiene ahora la subred más grande? ¿Cuántas estaciones tendrá en el futuro la subred más grande? Responder a las preguntas anteriores permite conocer el número de bits que se reservarán para nombrar subredes y estaciones, además de la clase de dirección IP que resultará más conveniente. No solamente hay que tener en cuenta las necesidades actuales de la organización, sino que también es necesario realizar una previsión para el futuro, con el fin de impedir que se agoten las direcciones disponibles. El ejemplo 5.12 muestra cómo deben asignarse las direcciones IP para una red concreta. Hay que tener en cuenta que la solución expuesta no es la única válida, y dependerá de los criterios que se sigan en las asignaciones. EJEMPLO 5.12 Supongamos que disponemos de una red local conectada a Internet y queremos realizar la asignación de direcciones IP. En primer lugar, nos ponemos en contacto con el NIC y éste nos contesta con una dirección IP de clase B: 186.16.0.0. RA-MA CAPÍTULO 5: EL NIVEL DE RED 223 Supongamos que nuestra red está formada por nueve subredes, y el número máximo de estaciones que puede tener cada una de ellas es de 1.200. Por lo tanto, necesitaremos un mínimo de 4 bits para especificar el número de subred (24 – 1 = 15, suponiendo que no podemos usar la subred todo a ceros, pero sí la subred todo a unos) y un mínimo de 11 bits para especificar el número de estación (211 – 2 = 2.046)45. Puesto que en la dirección IP de clase B existen 16 bits para especificar el número de subred y estación, podemos tomar un punto medio, de forma que quede margen para ampliaciones futuras. Por tanto, podemos tomar 5 bits para número de subred y 11 bits para número de estación (suponiendo que en un futuro aumentará el número de subredes y teniendo en cuenta que ya existe bastante margen para numerar las estaciones). Por lo tanto, las direcciones IP de las subredes pueden ser las siguientes (se especifica en subrayado el prefijo de red y el prefijo de red extendido, y en negrita los bits de subred): Base: 186.16.0.0/16 = 10111010.00010000.00000000.00000000 Subredes asignadas: Subred #1: Subred #2: Subred #3: Subred #4: Subred #5: Subred #6: Subred #7: Subred #8: Subred #9: 186.16.8.0/21 186.16.16.0/21 186.16.24.0/21 186.16.32.0/21 186.16.40.0/21 186.16.48.0/21 186.16.56.0/21 186.16.64.0/21 186.16.72.0/21 = 10111010.00010000.00001000.00000000 = 10111010.00010000.00010000.00000000 = 10111010.00010000.00011000.00000000 = 10111010.00010000.00100000.00000000 = 10111010.00010000.00101000.00000000 = 10111010.00010000.00110000.00000000 = 10111010.00010000.00111000.00000000 = 10111010.00010000.01000000.00000000 = 10111010.00010000.01001000.00000000 Subredes libres: Subred #10: Subred #11: Subred #12: ... Subred #30: Subred #31: 186.16.80.0/21 186.16.88.0/21 186.16.96.0/21 ... 186.16.240.0/21 186.16.248.0/21 = 10111010.00010000.01010000.00000000 = 10111010.00010000.01011000.00000000 = 10111010.00010000.01100000.00000000 ... = 10111010.00010000.11110000.00000000 = 10111010.00010000.11111000.00000000 La máscara de subred utilizada es la siguiente: 255.255.248.0 = 11111111.11111111.11111000.00000000 No existe el número de subred 0 porque puede crear confusión en las direcciones, al igual que no se puede especificar el número de estación 0 porque se confundiría con la dirección de subred. Sin embargo, sí se puede utilizar la subred número 0 cuando se trabaja sobre los protocolos RIP-2 u OSPF, ya que éstos no la confunden con la dirección de red. 45 RA-MA 224 REDES DE ÁREA LOCAL Así mismo, las direcciones IP de las estaciones de la subred #6 son las siguientes (se especifica en subrayado el prefijo de red extendido, y en negrita los bits de número de estación): Base: 186.16.48.0/21 = 10111010.00010000.00110000.00000000 Estaciones asignadas: Estación #1: 186.16.48.1/21 Estación #2: 186.16.48.2/21 Estación #3: 186.16.48.3/21 ... ... Estación #255: 186.16.48.255/21 Estación #256: 186.16.49.0/21 Estación #257: 186.16.49.1/21 ... ... Estación #1199: 186.16.52.175/21 Estación #1200: 186.16.52.176/21 = 10111010.00010000.00110000.00000001 = 10111010.00010000.00110000.00000010 = 10111010.00010000.00110000.00000011 ... = 10111010.00010000.00110000.11111111 = 10111010.00010000.00110001.00000000 = 10111010.00010000.00110001.00000001 ... = 10111010.00010000.00110100.10101111 = 10111010.00010000.00110100.10110000 Direcciones de estaciones libres: Estación #1201: 186.16.52.177/21 Estación #1202: 186.16.52.178/21 ... ... Estación #2045: 186.16.55.253/21 Estación #2046: 186.16.55.254/21 = 10111010.00010000.00110100.10110001 = 10111010.00010000.00110100.10110010 ... = 10111010.00010000.00110111.11111101 = 10111010.00010000.00110111.11111110 Finalmente, nos queda especificar la dirección de difusión para esta subred: 186.16.55.255/21 = 10111010.00010000.00110111.11111111 Protocolo IP versión 6 El protocolo IP en su versión 4 se ha utilizado desde 1981, y la expansión de Internet ha sido enorme desde entonces. Ese crecimiento ha llevado al agotamiento de las direcciones disponibles; en teoría, existen 232 = 4294967296 direcciones diferentes, pero organizar el espacio de direcciones por clases y las direcciones reservadas desperdicia millones de ellas. En particular, el verdadero problema se encuentra en las redes de clase B, ya que, para la mayoría de las organizaciones, una red de clase A es demasiado grande (16 millones de direcciones de estaciones diferentes), mientras que una red de clase C es demasiado pequeña (255 direcciones). Para solucionar este problema de crecimiento y escasez de direcciones, se han propuesto varias soluciones parciales, como el protocolo NAT (visto anteriormente) o el protocolo CIDR (Classless InterDomain Routing o Encaminamiento Interdominio Sin Clases), este último definido en los documentos RFC 1517, RFC 1518, RFC 1519 y RFC 1520, que pueden dar un respiro sólo durante unos pocos años más. CIDR RA-MA CAPÍTULO 5: EL NIVEL DE RED 225 consiste en eliminar el concepto de clases de direcciones IP y establece la distinción entre número de red y número de estación por la especificación del prefijo de red (que necesita incluirse con cada dirección además de en las tablas de encaminamiento). Figura 5.17. Crecimiento de las redes en Internet. Se observa que han proliferado las redes de clase C, mientras que las de clase A apenas se han utilizado. Figura obtenida de [RDC97]. La solución más sensata ante el problema de escasez de direcciones consiste en utilizar una nueva versión de protocolo IP que permita extender el rango de direcciones disponibles y solucionar otros problemas: IP versión 6. Esta nueva versión del protocolo está definida en RFC 1752 y posee las siguientes características: Utiliza el algoritmo de encaminamiento RIPing. Es capaz de manejar miles de millones de direcciones de estación diferentes, ya que trabaja con direcciones de 16 bytes. Se simplifica la configuración de las estaciones, ya que se reservan 48 bits como número de estación para la subred más pequeña y se puede utilizar la dirección MAC para numerar los equipos de forma automática. Reduce el tamaño de las tablas de encaminamiento en los nodos. Permite una mayor velocidad de proceso en los nodos, ya que el formato de paquete sólo contiene siete campos en su cabecera (en lugar de 13 que tenía la versión 4). Es compatible con la versión 4 del protocolo (aunque no totalmente, pero esta cuestión se resuelve utilizando protocolos de traducción de direcciones), de forma que los dos pueden coexistir durante algunos años para permitir una implantación progresiva. RA-MA 226 REDES DE ÁREA LOCAL La forma de representar las direcciones IP en su versión 6 es distinta de la versión 4, ya que ahora existen 128 bits en lugar de 32. En realidad, las direcciones IPv6 se pueden representar de tres formas diferentes: Por ocho números en hexadecimal de 16 bits, separados por dos puntos. Igual que la anterior, pero suprimiendo todos los ceros consecutivos en la dirección y sustituyéndolos por “::”. Estos “::” solamente pueden aparecer una vez en la dirección. Utilizando una notación mixta formada por una parte de dirección v6 (6 números hexadecimales de 16 bits separado por dos puntos) y otra de v4 (4 números decimales de 8 bits). Una dirección IPv6 también tiene varios campos: los primeros bits forman un prefijo, que indica el tipo de dirección (véase la tabla 5.4); los bits centrales especifican un número de red (que puede no existir) y los bits finales especifican un número de estación. Tabla 5.4: Tipos de prefijos en IPv6 Prefijo 00 2o3 de FE80 a FEBF de FEC0 a FEFF FF Descripción Dirección IPv4. Dirección asignada por un proveedor de acceso a Internet. Direcciones privadas dentro del ámbito de la subred. Direcciones privadas dentro del ámbito de la red (intranet). Dirección de multidifusión. En IPv6 también existen las máscaras de red y su función es idéntica a la versión anterior del protocolo. Por su parte, también se utilizan los prefijos, pero en este caso su representación es justamente la contraria a IPv4: un prefijo /50, por ejemplo, indica que los 50 últimos bits de la dirección se reservan para numerar estaciones. La razón de este cambio estriba en que ahora se utiliza gran cantidad de dígitos binarios para numerar redes y subredes. EJEMPLO 5.13 Ejemplos de direcciones IP versión 6 pueden ser los siguientes: 43A0:512C:65:1FF:FD06:AA68:1:54B7 12E:0:0:0:768F:821:0:2286 es equivalente a 12E::768F:821:0:2286 65E:0:0:0:0:0:10A:192.168.0.18 es equivalente a 65E::10A:192.168.0.18 0:0:0:0:0:0:124.68.251.128 es equivalente a ::124.68.251.128 RA-MA CAPÍTULO 5: EL NIVEL DE RED 227 La característica fundamental que define al protocolo IP versión 6 es la posibilidad de las estaciones para realizar una configuración automática de sus parámetros de red. Esta cuestión resulta muy importante debido a que la configuración de una estación en esta nueva versión es mucho más compleja que en IPv4. Esta característica es posible gracias al uso de las direcciones MAC como parte de la dirección IP y los protocolos DHCP y DNS (este último se verá en el capítulo 6). Protocolo ARP Como se vio en el capítulo 3, cada una de las estaciones de una red de área local dispone de una dirección MAC suministrada por la tarjeta de red que identifica esa estación de las demás, dentro de un medio de difusión. Para redes WAN, estas direcciones no son necesarias, al igual que no es necesaria una dirección a nivel de red para una LAN aislada. Sin embargo, cuando se conecta una LAN a una WAN (en este caso, Internet), cada una de las estaciones de ella posee, además de la citada dirección MAC, una dirección dada por el protocolo de red IP. La figura 5.18 muestra un ejemplo de asignación de direcciones MAC e IP para una red local cualquiera con acceso a Internet. Figura 5.18. Ejemplo de asignación de direcciones IP y MAC. Cuando el encaminador recibe un paquete procedente del exterior, debe convertir la dirección IP del destinatario en dirección MAC, ya que, una vez que ha enviado esa información por el medio compartido, la tomará la estación que tenga esa dirección MAC. Puesto que en una LAN las tramas se transmiten teniendo en cuenta la dirección MAC, cuando un paquete entra en ella el protocolo no es capaz de distinguir la dirección del destinatario, porque se establece a un nivel superior de la arquitectura de red. Entonces, ¿cómo se proyectan las direcciones IP en las direcciones a nivel MAC? Este control lo realizan los protocolos de red ARP y RARP. 228 REDES DE ÁREA LOCAL RA-MA El protocolo ARP (Address Resolution Protocol o Protocolo de Resolución de Direcciones) se definió en el RFC 826 y funciona de la siguiente forma: cuando una estación desea enviar un paquete a un destinatario (del que sólo conoce su dirección IP), intenta primero obtener su dirección MAC en una tabla local. Si esa dirección no está en la tabla local del protocolo ARP, entonces envía una trama con la dirección MAC de difusión y la dirección IP del destinatario. Todas las estaciones obtienen esa trama y comprueban en su nivel de red si poseen la IP especificada. Sólo contestará la estación que tenga esa dirección, y lo hace dando su dirección MAC (enviando una trama con las direcciones MAC e IP de solicitante). Así, el emisor aprende que esa dirección IP se corresponde con la estación que tiene esa dirección MAC dentro de la subred o segmento y guarda esa correspondencia en su tabla local para futuras referencias y envíos. Todos estos pasos se exponen esquemáticamente en la figura 5.19. Figura 5.19. Pasos en la resolución de direcciones ARP. Todos los equipos que envían solicitudes y respuestas ARP guardan esas referencias en tablas locales para usos futuros. El protocolo ARP también es usado por los puentes y los encaminadores cuando deben transmitir una trama de una red a otra, situación que se introdujo en el capítulo 4, apartado 4.6, donde se explicaba la necesidad de la existencia de direcciones a nivel de red. Cuando una estación desea enviar un paquete a otra situada en otra subred, coloca su dirección de red (IP, por ejemplo) y pasa ese paquete al nivel de enlace. Este nivel debe inyectar la trama en el medio, así que debe obtener la dirección MAC del destinatario. Puesto que no la conoce, enviará una solicitud ARP, y ésta será contestada por el puente o el encaminador, que devuelve la dirección MAC de su puerto. Con esa dirección MAC, la estación envía la trama, que será tomada por el dispositivo de interconexión. Cuando este último recibe la trama, primero debe obtener la dirección IP encapsulada en el paquete para generar una petición ARP. Esta vez esa petición sí que es contestada por la estación destinataria, que devuelve su dirección MAC para que el puente o el encaminador le envíe la información. Todos estos pasos se siguen en caso de que la estación y el puente o el encaminador no tengan las direcciones MAC de destino en sus respectivas tablas locales. La figura 5.20 muestra esquemáticamente todos estos pasos seguidos, teniendo en cuenta que ahí sólo aparecen los mensajes que se envían los equipos con sus respectivas direcciones MAC e IP. RA-MA CAPÍTULO 5: EL NIVEL DE RED 229 Figura 5.20. Uso del protocolo ARP en la transmisión de información a través de un puente. Dentro de los bloques de información solamente se han incluido los campos correspondientes a las direcciones a nivel de red y a nivel MAC. Tampoco se han incluido los paquetes ARP que se envían las estaciones, ya que se supone que éstas se encuentran disponibles en tablas locales. El protocolo RARP (Reverse Address Resolution Protocol o Protocolo de Resolución de Direcciones Inverso) realiza el proceso contrario al del protocolo ARP, es decir, dada una dirección física de una estación, obtiene su dirección IP correspondiente enviando mensajes de difusión a la red. Cada estación de la red dispone de una tabla local (por cada adaptador de red instalado) con el objetivo de reducir el tráfico de mensajes de difusión, en el caso de consultar direcciones resueltas anteriormente. En esta tabla, además de entradas dinámicas (se actualizan automáticamente por el protocolo y tienen un tiempo de vida limitado a unos pocos segundos), se permite que el usuario introduzca manualmente en ellas entradas estáticas (que solamente se eliminan cuando se apaga el sistema). La forma de acceder a estas tablas depende en gran medida del sistema operativo sobre el que se realice; aparece en el apéndice B. Asignación dinámica de direcciones: DHCP El protocolo DHCP (Dynamic Host Configuration Protocol o Protocolo de Configuración Dinámica de Estación) permite que a las estaciones de la red se les asigne una dirección IP automáticamente sólo cuando la necesiten. DHCP apareció en la década de los noventa con el objetivo de mejorar el protocolo BOOTP que se utilizaba en máquinas Unix para asignar direcciones a ciertos dispositivos que trabajaban en pequeñas redes locales. 230 REDES DE ÁREA LOCAL RA-MA Este protocolo se utiliza ampliamente cuando una estación con módem desea el acceso a Internet. Para ello, realiza una llamada al proveedor de servicio y éste le asigna una dirección IP (de las que disponga libres) para que tenga acceso. Cuando el usuario se desconecta, libera esa dirección de forma que pueda ser utilizada más adelante (por otra estación o por ella misma). DHCP puede utilizarse también dentro del ámbito de una red local, y en este caso los ordenadores deben solicitar una dirección a una estación especial que funcione como servidor DHCP. Esta estación mantiene una tabla de direcciones asignadas y libres para esa red. La ventaja de este método consiste en que las estaciones solamente tienen asignadas IPs cuando realmente se conectan y hacen uso de la red, y permanecen libres mientras no se necesitan, lo que ahorra direcciones que pueden asignarse a otras estaciones. Además, se reducen las tareas de los administradores de la red cuando hay que cambiar de lugar estaciones. El protocolo DHCP es abierto (no depende del sistema operativo utilizado), lo que significa que se puede utilizar sobre una red heterogénea. Así, un servidor DHCP Windows, OS/2, Linux, Novell, etc., puede asignar direcciones sin ningún problema a estaciones Windows, OS/2, Linux, Apple, etc. Hay que recalcar que en la configuración de un equipo cliente no se especifica la dirección IP del servidor DHCP. El protocolo establece que las estaciones, puesto que no tienen IP asignada y no conocen direcciones de servidores ni máscaras, deben lanzar una petición UDP (véase el capítulo 6, apartado 6.2.4, donde se explica este protocolo) a la dirección de difusión (255.255.255.255). Todos los servidores DHCP contestan con una dirección IP, también por un mensaje UDP de difusión. El cliente tomará una de esas direcciones y enviará otro mensaje de difusión anunciando a todos los servidores DHCP cuál es la IP tomada. Finalmente, el servidor que ha ofrecido la dirección asignada envía al cliente la confirmación de la operación. En el apéndice B se explica a fondo cómo configurar estaciones clientes y servidores del protocolo DHCP en Windows y Linux. 5.5.2. Protocolo IPX El protocolo IPX forma parte del nivel de red definido en la arquitectura de protocolos Novell; en este apartado se comentará por encima ya que la tendencia actual es hacia la desaparición del ya mencionado protocolo (las últimas versiones de Novell se orientan a trabajar sobre TCP/IP y así ofrecer una completa conectividad con redes de área extensa). En versiones anteriores se utilizaba un encapsulado de TCP/IP sobre IPX/SPX o al revés. IPX define un servicio de envío de paquetes sin conexión y, al contrario que su homólogo IP, provee de entrega de información a procesos y no entre máquinas. En este caso, también se trata de un protocolo dependiente de la red subyacente y el formato de mensaje puede definirse de diferente manera para cada red. RA-MA CAPÍTULO 5: EL NIVEL DE RED 231 Las direcciones IPX en una red Novell se asignan a los servidores NetWare, mientras que las estaciones clientes se identifican por su dirección MAC. Una dirección IPX consta de dos partes: Dirección externa de la red (o número de subred) que especifica el número de red y tiene un tamaño de 8 bytes (de 0 a FFFFFFFF). Dirección interna (o número de nodo) que especifica el servidor dentro de esa red y tiene una longitud de 12 bytes (de 0 a FFFFFFFFFFFF). Estas direcciones pueden configurarse de forma manual, aunque también es posible dejar al sistema operativo que establezca direcciones aleatorias. Además, dentro de cada paquete IPX se incluye junto con las direcciones externa e interna otro número de conector que identifica las aplicaciones que se comunican (con una longitud de 4 bytes, de 0 a FFFF), aunque éste se asigna internamente por la arquitectura. 5.5.3. Protocolos de red de Microsoft El protocolo NetBEUI (NetBIOS Extended User Interface o Interfaz de Usuario NetBIOS Extendida) ha sido desarrollado por Microsoft con el propósito de ofrecer servicios de comunicaciones básicos al protocolo NetBIOS (que funciona por encima de éste) en los niveles de red y transporte. Al contrario que otros protocolos de red, como IP, NetBEUI es muy sencillo de configurar, ya que utiliza las direcciones MAC para identificar las estaciones y todos los mensajes se envían por difusión. Estas características hacen que NetBEUI tenga bastantes limitaciones: ⌦ Los mensajes de difusión saturan la red local en mayor medida, por lo que no es recomendable utilizarlo donde existe un gran número de estaciones conectadas. ⌦ No es posible utilizar este protocolo para comunicar la red local con otras o con una red de área extensa, ya que no realiza encaminamiento. Debido a todas estas limitaciones, el protocolo NetBEUI prácticamente ha dejado de utilizarse en la actualidad para los nuevos sistemas operativos de Microsoft. En su lugar, utilizan una versión adaptada de la arquitectura TCP/IP, llamada NetBT (NetBIOS Over TCP/IP o NetBIOS sobre TCP/IP). Gracias a NetBT, el equipo puede conectarse sin problemas a una red de área extensa como Internet. NetBT está definido formalmente en los documentos RFC 1001 y RFC 1002. 232 REDES DE ÁREA LOCAL RA-MA 5.6. EJERCICIOS 5.1. Supongamos que, en lugar de utilizar 16 bits para la parte de red de una dirección de clase B, se hubieran usado 20 bits. ¿Cuántas redes de clase B se podrían direccionar con este nuevo formato? ¿Cuántos bits quedarían para direccionar estaciones? 5.2. Convierte la dirección IP cuya representación hexadecimal es C22F1582 a notación decimal con puntos. ¿A qué clase pertenece? 5.3. Una red de clase B de Internet tiene una máscara de red 255.255.240.0. ¿Cuál es la cantidad máxima de estaciones por subred que se pueden direccionar? 5.4. Una red de clase A de Internet tiene una máscara de red 255.252.0.0. ¿Cuál es la cantidad máxima de estaciones por subred que se pueden direccionar? 5.5. Convierte la dirección 145.32.59.24 en formato binario e identifica la clase de dirección. 5.6. Expresa la dirección 200.42.129.16 en formato binario e identifica su clase. 5.7. Se trata de establecer las direcciones IP de una red que tiene asignada 136.89.0.0/16. No existen subredes, y el número de estaciones es de 260. Mostrar los valores asignados a las 10 primeras estaciones y a las 15 últimas, además de los rangos que quedan libres. 5.8. Dado el siguiente esquema de red con las direcciones IP asignadas, indicar cuáles son las entradas de las tablas de encaminamiento de E1, E2 y E3. Suponemos que éstas ya han sido actualizadas por el funcionamiento de la red. RA-MA CAPÍTULO 5: EL NIVEL DE RED 233 5.9. Supongamos que tenemos asignada la IP 162.18.0.0/16 y necesitamos establecer las direcciones de la LAN en seis subredes. Indica los dígitos binarios necesarios para direccionar las seis subredes, el prefijo de red extendido, las direcciones de las subredes y las direcciones de difusión. Además, indica cuáles son las direcciones asignadas a las estaciones de las subredes #3 y #6. 5.10. Supongamos que una empresa tiene asignada la IP 199.215.86.0/24. Define un prefijo de red extendido que permita la creación de 20 estaciones por cada subred. ¿Cuál es el número máximo de subredes que se pueden definir? Especifica las direcciones de las subredes en notación binaria y decimal, además del rango de direcciones de estaciones asignadas a la subred #5. ¿Cuál es la dirección de difusión de la subred #2? 5.11. Se trata de establecer las direcciones IP de una red formada por las siguientes subredes: • • • • • 20 segmentos de 310 estaciones. 18 segmentos de 90 estaciones. 23 segmentos de 110 estaciones. 18 segmentos de 100 estaciones. 12 segmentos de 40 estaciones. Hay que tener en cuenta que sólo deberá utilizarse una dirección IP (clase A, B o C) que se ajuste a las necesidades. Se pide: • • • • Dirección IP de la red y clase. Direcciones de los segmentos de red y su direcciones de difusión. Direcciones de los segmentos de red libres. Rango de direcciones total de las estaciones en cada segmento (asignadas y libres). • Número máximo de segmentos y estaciones que se pueden ampliar sin cambiar esa configuración. 5.12. Explica en qué condiciones es más adecuado utilizar un encaminador y en qué otras condiciones es preferible usar un puente o un conmutador. 5.13. Pon varios ejemplos de cómo se especifica una dirección IPv4 utilizando la notación de IPv6. 5.14. Explica con un ejemplo concreto todos los pasos que se siguen en la resolución de direcciones cuando dos estaciones se quieren comunicar a través de un puente. ¿Qué información guardan esas estaciones en sus tablas ARP locales? 5.15. Imagina que la empresa para la que trabajas desea conectar su red local a Internet. Enumera todos los métodos que conozcas, líneas de acceso, etc., para conseguirlo, y explica las ventajas e inconvenientes de cada uno de ellos. 234 REDES DE ÁREA LOCAL RA-MA 5.7. BIBLIOGRAFÍA Libros en castellano: [CAL02] Alta Velocidad y Calidad de Servicio en Redes IP J. G.ª Tomás, J. L. Raya y V. Rodrigo Ra-Ma, 2002 [RDC97] Redes de computadoras Andrew S. Tanenbaum Prentice-Hall, 1997, 3.ª ed. [RED01] Redes Locales José Luis Raya y Cristina Raya Ra-Ma, 2001 Páginas de Internet: [CHUCOM] Direccionamiento IP (Understanding IP addressing: Everything you ever wanted to know) Chuck Semeria, 3Com Corp. 1996 (en Inglés) http://www.3com.com/other/pdfs/infra/corpinfo/ en_US/501302.pdf [CYBENET] Apuntes y trabajos de temas de informática en general Varios autores http://www.cybercursos.net/ [IETORG] Documentos RFC Varios autores (en inglés) http://ietf.org/rfc.html [PROCOM] Documentación variada sobre protocolos e interfaces de red Varios autores (en inglés) http://www.protocols.com/protoc.shtml [RFCORG] Traducción al castellano de los documentos RFC http://www.rfc-es.org/ CAPÍTULO 6 EL NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN Este capítulo está dedicado a los niveles más altos de la arquitectura de comunicaciones, es decir, aquéllos que están más alejados de las consideraciones físicas de transmisión (señales, cables, etc.) y a la vez más cercanos a las necesidades y aplicaciones que manejan los usuarios. Todos los protocolos vistos hasta ahora tienen por objetivo el intercambio de información entre dos estaciones, pero realmente no realizan un trabajo útil que cubra las necesidades de los usuarios. A partir de aquí veremos los protocolos más cercanos a los programas de aplicación y que son manejados directamente por el sistema operativo de las estaciones. Figura 6.0. La telaraña mundial de la Web 236 REDES DE ÁREA LOCAL RA-MA 6.1. INTRODUCCIÓN Según todo lo visto hasta ahora en capítulos anteriores, el problema de la interconexión de redes se divide lógicamente en varios niveles. Ya hemos visto que actualmente funcionan diferentes tipos de arquitecturas de comunicaciones, aunque básicamente diferenciamos cinco niveles fundamentales: físico, enlace de datos, red, transporte y aplicación. Estos cinco niveles, al igual que los niveles de otras arquitecturas de red, suelen agruparse en dos bloques. Los tres niveles inferiores (físico, enlace de datos y red) constituyen el bloque de transmisión, es decir, se trata de niveles dependientes del tipo de red utilizada. Por el contrario, los niveles superiores (transporte y aplicación) son niveles orientados a la aplicación y realizan funciones directamente vinculadas con los procesos que se comunican. Esto quiere decir que el nivel de transporte debe permitir que los programas que tiene por encima (aplicación) puedan comunicarse a través de la arquitectura de red que hay por debajo. El nivel de red y el nivel de transporte marcan la frontera divisoria entre los protocolos de la red de comunicación y los protocolos que funcionan en las estaciones. Por lo tanto, la capa de transporte es responsable de enviar los datos recibidos por la capa de aplicación utilizando la red subyacente. Esto quiere decir que los protocolos de transporte deben “adaptarse” a las condiciones para la comunicación que establecen los protocolos inferiores. Por ejemplo, si la subred no asegura una entrega de datos 100% libre de errores, los protocolos de transporte deberán ingeniárselas para que esto sea posible. El problema del control de errores no es el único con el que se puede encontrar el nivel de transporte; también puede producirse desorden o duplicidad en la información, pérdidas, etc. Por todo ello, la complejidad de los protocolos de transporte dependerá de la fiabilidad y robustez de los protocolos de niveles inferiores. Finalmente, el nivel de aplicación es el punto de acceso del usuario a través de las aplicaciones software, como puede ser el correo electrónico, la transferencia de ficheros, etc. Las capas por debajo de la de aplicación están ahí para proporcionar transporte fiable, pero no hacen ningún trabajo “verdadero” para los usuarios. Por encima de esta capa, se encuentran los programas que son manejados directamente por los usuarios. La relación que existe entre el nivel de aplicación, transporte y red puede compararse, a modo de ejemplo aclaratorio, con el sistema postal. El usuario (equivalente al nivel de aplicación) desea enviar una carta, paquete, etc., de un cierto peso (sería equivalente al envío de mensajes cortos o archivos completos de varios Mb). Éste contacta con el empleado de la oficina de correos (equivalente al protocolo de transporte) que le indica que existen varias modalidades de envío (servicios): normal, urgente, certificado, etc. Independientemente del método que se utilice para enviar las cartas (protocolos de subred), cuestión que no le interesa al usuario, el empleado debe responder ante la recepción por parte del destinatario, con la seguridad y plazo de tiempo convenido. RA-MA CAPÍTULO 6: El NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN 237 6.2. EL NIVEL DE TRANSPORTE El nivel de transporte es el cuarto nivel por encima del nivel de red y su función es la de aceptar la información suministrada por el nivel de aplicación (o sesión, dependiendo de la arquitectura), dividir esa información en fragmentos (siempre que sea necesario), entregar esos fragmentos al nivel de red y asegurar que todos ellos lleguen correctamente al otro extremo. Por lo tanto, su principal objetivo será “garantizar una comunicación fiable y eficiente entre dos computadoras, con independencia de los medios empleados para su interconexión”. Para conseguir todos estos objetivos, se emplean los protocolos de transporte, que regulan el intercambio de información entre dos extremos. Como se ha mencionado en el apartado 6.1, en el nivel de transporte aparece el concepto de comunicación extremo a extremo (figura 6.1). Este modelo está basado en el hecho de que el protocolo a este nivel solamente considera la existencia de dos estaciones que se comunican situadas a ambos extremos de una red de comunicación. No le importa cuál es la estructura interna de esa red, ni el número de nodos intermedios que tienen que atravesar los mensajes (recordemos que esta característica es responsabilidad del nivel de red). Figura 6.1. Diagrama simplificado de la comunicación virtual entre niveles de una arquitectura. Para todos los niveles superiores al de red, esa comunicación virtual entre entidades se realiza directamente entre origen y destino, sin que se tengan en cuenta consideraciones acerca de las características de la red subyacente. Por lo tanto, existe una fuerte dependencia entre el servicio de red y el nivel de transporte, puesto que, para que el nivel de transporte proporcione un servicio fiable y eficiente, deberá tener en cuenta las características del servicio de red y corregir todas las deficiencias que éste pueda presentar. Es importante destacar que los objetivos de fiabilidad y eficiencia del servicio de transporte pueden tener una interpretación subjetiva, ya que distintos usuarios pueden considerar diferentes grados de fiabilidad como deseables. Por ejemplo, un 238 REDES DE ÁREA LOCAL RA-MA usuario que recibe una película de vídeo bajo pedido puede considerar aceptable un servicio de transporte con una tasa de error de 1 bit por cada 1.000 bits recibidos (apenas le afectará la calidad de la imagen). Sin embargo, otro usuario que realiza operaciones sobre cuentas bancarias tendrá que solicitar el uso de un servicio de transporte con una tasa de error nula. Como veremos en los apartados siguientes, el nivel de transporte se encarga de establecer y liberar las conexiones a través de la red. Debe realizar también control de flujo extremo a extremo, ya que el nivel de enlace realiza esta misma operación pero de nodo a nodo. A nivel de transporte, los mensajes que se envían las entidades se conocen como TPDU46 (Transport Protocol Data Unit o Unidad de Datos del Protocolo de Transporte). Siguiendo las especificaciones de una arquitectura por niveles, una TPDU completa va incluida dentro del campo de datos de un paquete que, a su vez, se incluye íntegro dentro del campo de datos de una trama. Figura 6.2. Relación entre trama, paquete y TPDU. Un bloque de datos de nivel de transporte se incluye dentro del campo de información de un paquete y, junto con la cabecera de control, forma parte del campo de datos de una trama. Como se vio en el capítulo 2, el nivel de enlace no reconoce la información de control que se utilizan a niveles superiores, sino que considera el campo de datos como información “pura”. Figura obtenida de [RDC97]. 6.2.1. Servicios proporcionados a los niveles superiores El nivel de transporte no es muy diferente del resto de niveles de la arquitectura, en lo que respecta a los tipos de servicios que puede ofrecer: orientados a la conexión y sin conexiones. Sin embargo, por regla general, los servicios de transporte deben ser siempre fiables (a no ser que se trate de servicios orientados a aplicaciones en tiempo real), debido a que se encargan de controlar y corregir los errores producidos en la transmisión por la subred. Más adelante veremos que algunas TPDU específicas de determinados protocolos tienen nombres concretos, como es el caso de los segmentos en TCP. 46 RA-MA CAPÍTULO 6: El NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN 239 Puesto que es posible que la subred de comunicación produzca errores, los usuarios no pueden corregirlos incluyendo mejores protocolos en la capa de enlace de datos o sustituyendo el cableado por otro de mejor calidad47. Debido a esto, es necesario incluir una capa adicional entre el origen y el destino que resuelva estos problemas. Así, los servicios a nivel de transporte deben responsabilizarse de problemas derivados de: Servicios no fiables en la capa de red. Pérdida frecuente de paquetes por parte de la subred. Funcionamiento inadecuado o bloqueo de los encaminadores. Otra ventaja de incluir el nivel de transporte en la arquitectura consiste en que sus servicios se pueden diseñar de forma que oculte los detalles de la subred a la capa de aplicación. Y es que manejar los servicios de comunicación en una red local puede ser muy diferente a manejar los servicios de una red de área extensa. 6.2.2. Funciones a nivel de transporte Como se ha mencionado, la función básica del nivel de transporte consiste en llevar a cabo una comunicación fiable entre los extremos que se comunican. Para ello, deberá mantener un control de errores y control de flujo (siempre entre el origen y el destino), para evitar la pérdida de datos. Además de estas funciones, el nivel de transporte puede considerar oportuno multiplexar varias conexiones a nivel de aplicación en una sola conexión de red (para reducir costes, por ejemplo, en el caso de que la compañía telefónica tarifique por tiempo y número de conexiones). Para permitir esto, el protocolo de transporte deberá mantener un direccionamiento a este nivel, ya que pueden existir varias entidades que mantengan una comunicación en un mismo instante. Este direccionamiento se lleva a cabo normalmente utilizando direcciones numéricas a nivel de transporte. La figura 6.3 ilustra de forma gráfica un ejemplo de comunicaciones a nivel de aplicación con las direcciones que se identifican en cada nivel. Como se muestra en la figura 6.3, a nivel de transporte es necesario especificar con qué proceso de aplicación se desea comunicar, mientras que a nivel de red las direcciones suelen especificar máquinas distintas. En el caso del nivel de enlace, esa dirección existe en una LAN o no existe en una WAN (es simplemente una conexión o línea diferente). Por su parte, a nivel físico tampoco existen direcciones ya que la distinción se establece a nivel de conexiones de puertos o identificadores de adaptadores de red). Normalmente el usuario no puede modificar las características de los protocolos en los tres primeros niveles de la arquitectura, ya que esa responsabilidad reside en el administrador o empresa propietaria de la red. 47 240 REDES DE ÁREA LOCAL RA-MA Figura 6.3. Direcciones utilizadas en los distintos niveles de la arquitectura. A nivel de transporte es necesario especificar con qué proceso de aplicación se desea comunicar. 6.2.3. Comparación entre los niveles de enlace y transporte Los protocolos a nivel de enlace de datos y a nivel de transporte se parecen debido a que ambos se encargan del control de errores, el mantenimiento del orden, el control de flujo y el direccionamiento48, entre otros. Sin embargo, existe un conjunto de características que los diferencia por completo: ⌦ El protocolo a nivel de enlace se encarga de comunicar dos nodos encaminadores utilizando un canal directo, mientras que el protocolo de transporte comunica un origen y un destino a través de una red completa. Como consecuencia, las tramas siempre llegan al otro extremo del cable (o se pierden), pero las TPDU pueden desaparecer momentáneamente por la subred para luego emerger inesperadamente unos minutos después. ⌦ A nivel de enlace no es necesario establecer conexiones (esta operación resulta muy sencilla) debido a que las estaciones siempre están listas. Sin embargo, a nivel de transporte esta operación resulta más complicada, y es necesario intercambiar cierta información de control. Como se vio en el capítulo 4, cuando se transmite información a través de una LAN, el protocolo a nivel MAC debe indicar cuál es la estación destinataria, teniendo en cuenta que todas ellas están conectadas al mismo cable. 48 RA-MA CAPÍTULO 6: El NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN 241 ⌦ A nivel de transporte pueden existir varias comunicaciones multiplexadas dentro de una misma transmisión de red. Esta característica permite reducir el coste de las comunicaciones si se utiliza una subred que tarifica por tiempo y/o conexiones. 6.2.4. Protocolos a nivel de transporte Los protocolos de transporte se diseñan teniendo en cuenta cuál es el tipo de servicio a nivel de red con el que deben trabajar. Según la organización ISO existen tres clases de servicios a nivel de red: Clase A: Estos servicios de red realizan control de errores, por lo que el servicio a nivel de transporte resulta bastante sencillo de diseñar. Clase B: El nivel de red notifica al nivel de transporte gran cantidad de errores que se pueden producir, pero no los corrige. Clase C: El nivel de red utiliza un servicio no fiable, por lo que el nivel de transporte deberá detectar y corregir todos los errores de la subred. Por todo lo mencionado anteriormente, queda establecido que los protocolos a nivel de transporte se encargan fundamentalmente de mejorar la calidad del servicio (Quality of Service o QoS) ofrecida por los niveles inferiores de la red de comunicación. Esta calidad puede definirse por varios parámetros y depende del tipo de servicio solicitado por el usuario. Un usuario que recibe vídeo bajo demanda deseará una calidad del servicio caracterizada por una elevada velocidad de transmisión (que impida saltos en las imágenes), aunque la tasa de errores no sea cero. Por otro lado, un usuario que está transfiriendo un archivo deseará recibirlo completamente libre de errores, aunque necesite más tiempo para descargarlo. En este apartado se verá alguno de los protocolos a nivel de transporte que se utilizan dentro de arquitecturas de redes importantes. Éstos son TCP y UDP (Internet), SPX (Novell) y NetBIOS/NetBEUI (para redes Microsoft), que también se expondrá más a fondo en el capítulo 7. Protocolos de transporte en Internet: TCP y UDP La capa de transporte de Internet permite el uso de dos protocolos diferentes para intercambiar información: TCP (Transmission Control Protocol o Protocolo de Control de la Transmisión) y UDP (User Datagram Protocol o Protocolo de Datagramas de Usuario). TCP es orientado a conexiones y fiable, por lo que su diseño resulta bastante complejo, ya que funciona sobre IP, que es de clase C. UDP es sin conexiones y no lleva a cabo control de errores, por lo que solamente añade una pequeña cabecera a los paquetes IP y su implementación es muy sencilla. 242 REDES DE ÁREA LOCAL RA-MA El protocolo TCP está definido en los estándares RFC 793, RFC 1122 y RFC 1323 como un protocolo altamente fiable y robusto que funciona sobre una subred que no detecta ni corrige errores. Cuando un proceso TCP recibe datos de la capa de transporte, los fragmenta en trozos de no más de 64 Kb y los incluye dentro de la carga útil de un paquete IP. Hay que tener en cuenta que un paquete IP tiene un tamaño máximo de 64 Kb para su campo de datos. Puesto que no se garantiza la entrega de esos fragmentos ni el mantenimiento del orden, el protocolo TCP debe encargarse del control de errores y la ordenación, manteniendo contadores y números de secuencia. Cada origen y destino en TCP se identifica con un número de 16 bits llamado puerto. Los números de puerto en el rango [1,255] están reservados para aplicaciones estándar (como FTP asociado al puerto 21, TELNET en el 23, HTTP en el 80, etc.). Los puertos del rango [256,511] se reservan para usos futuros. Los puertos dentro del rango [512,1023] se reservan para aplicaciones servidoras de usuarios que se ejecutan en modo superusuario. Y, por último, los puertos del rango [1024,65535] están libres para otros programas de comunicación, siendo los del intervalo [1024,5000] asignados y gestionados automáticamente por el sistema operativo (utilizando las respectivas llamadas al sistema). En la tabla 6.1 aparecen algunos puertos de transporte TCP/UDP que se utilizan para algunos servicios de aplicación estandarizados (estos últimos se explican en el apartado 6.3.2 y en posteriores capítulos). Al par formado por dirección IP y número de puerto (separados por dos puntos) se le llama conector o socket. Un ejemplo de conector es la dirección 192.168.0.34:80 y especifica la dirección de un puerto dentro de una estación de red concreta. Cada conexión a nivel de transporte entre un origen y un destino se especifica mediante un par formado por las direcciones de conector de origen y destino. Puede utilizarse un mismo conector de destino para establecer varias conexiones y no es obligatorio que se especifique el mismo número de puerto en el origen y en el destino. Por ejemplo, lo siguiente especifica una conexión establecida a nivel de transporte entre un origen y un destino: (192.168.0.44:1076, 192.168.0.99:1081) El bloque de información que intercambian dos procesos pares TCP en una comunicación se llama segmento y está formado por una cabecera de control (20 bytes más una parte opcional) y un campo de información. Cada segmento se identifica por las direcciones de puerto del origen y el destino y no por la dirección de conector, ya que la dirección IP se incluye solamente en el paquete y no se conoce a nivel de transporte. RA-MA CAPÍTULO 6: El NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN 243 Tabla 6.1. Algunos puertos TCP/UDP estándares N.° de puerto 7 21 22 23 25 42 43 53 69 79 80 88 109 110 139 161, 162 256 389 396 443 445 513 514 515 520 524 1080 1745 2049, 4045 6000 Protocolo TCP TCP TCP TCP TCP TCP TCP TCP/UDP UDP TCP TCP TCP TCP TCP TCP UDP TCP TCP TCP TCP TCP/UDP TCP TCP TCP/UDP UDP TCP TCP TCP TCP TCP Servicio de aplicación Echo FTP SSH TELNET SMTP Nameserver WHOIS DNS TFTP Finger HTTP Kerberos POP2 POP3 NetBIOS SNMP SNMP LDAP Novell sobre IP HTTPS SMB RLogin RShell Impresora TCP/IP Encaminamiento NCP (Novell) Sockets WINSOCK-PROXY NFS XWindow Puesto que el modelo de arquitectura TCP/IP no distingue entre servicio y primitiva49 (los considera conceptos idénticos), las primitivas TCP que se utilizan para establecer una conexión, enviar datos y terminar aparecen en la tabla 6.2. Hay que tener en cuenta que una conexión de transporte se establece entre un servidor y un cliente, aunque cualquiera de ellos podrá enviar o recibir datos. El proceso servidor siempre está a la espera de recibir peticiones de conexión por parte de los procesos clientes y podrá aceptarlas o rechazarlas. El protocolo TCP se diseñó antes de la aparición del modelo OSI, por lo que no existían los conceptos de servicio, protocolo o primitiva. 49 RA-MA 244 REDES DE ÁREA LOCAL Tabla 6.2. Primitivas utilizadas en el protocolo TCP Primitiva SOCKET (enchufar) BIND (ligar) LISTEN (escuchar) ACCEPT (aceptar) CONNECT (conectar) SEND (enviar) RECEIVE (recibir) CLOSE (cerrar) Significado Crea una entidad de transporte (servidor o cliente) para la comunicación, indicando el tipo de servicio deseado. Asocia una entidad servidora con un número de puerto específico. Indica que el proceso servidor está listo para aceptar peticiones y reserva espacio para posibles solicitudes. El proceso servidor se queda bloqueado en espera de una solicitud de conexión. Realiza una solicitud de conexión de un cliente hacia un servidor de transporte. Para enviar datos (cliente o servidor). Para leer datos recibidos (cliente o servidor). El cliente le indica al servidor que desea terminar la comunicación. Dentro de la arquitectura de red TCP/IP, además del protocolo TCP a nivel de transporte, existe el protocolo UDP que, como ya se ha mencionado, es no orientado a la conexión, sin garantías de que se entregue la información correcta y ordenada. Puesto que UDP es no orientado a la conexión, maneja un conjunto de primitivas diferentes a TCP y se muestran en la tabla 6.3. Sin embargo, UDP también utiliza una conexión entre estación cliente y estación servidora. Tabla 6.3. Primitivas utilizadas en el protocolo UDP Primitiva SOCKET (enchufar) BIND (ligar) SENDTO (enviar a) RCVFROM (recibir de) Significado Crea una entidad de transporte (servidor o cliente) para la comunicación, indicando el tipo de servicio deseado. Asocia una entidad servidora o cliente con un número de puerto específico. Para enviar datos (servidor o cliente). Debe especificarse el conector del destinatario. Para tomar los datos recibidos (servidor o cliente) y la dirección de conector del origen. Protocolos de transporte en Novell Dentro del nivel de transporte en Novell se encuentra definido el protocolo SPX (Sequenced Packet Exchange o Intercambio de Paquetes Secuenciado). Éste utiliza los números de secuencia en los paquetes y las confirmaciones en los envíos para asegurar que los mensajes llegan al destino y al mismo tiempo mantener el control de flujo entre los extremos. RA-MA CAPÍTULO 6: El NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN 245 El emisor reconoce la transmisión correcta de un paquete cuando recibe una confirmación con el número de secuencia siguiente al último enviado. El protocolo establece que el emisor solamente podrá enviar un paquete a la vez, de forma que deberá esperar confirmación para enviar el siguiente. Pueden darse varias situaciones anómalas: Si el emisor no recibe ninguna confirmación (o una confirmación negativa), entonces el paquete es retransmitido. Si el siguiente paquete de datos es recibido con un número de secuencia inesperado, el receptor volverá a enviar la última confirmación emitida. Un paquete SPX está formado por una cabecera de 42 bytes seguida de un campo de datos que puede tener una longitud de entre 0 y 534 bytes. Este límite ha sido definido ya que se corresponde con el tamaño máximo de una trama en el estándar Ethernet, aunque, si se utilizan otros protocolos de bajo nivel, se pueden enviar más datos dentro de un mismo paquete SPX. Por su parte, el formato de la cabecera depende del protocolo de aplicación que haga uso de los paquetes. SPX no incluye suma de verificación en los paquetes y se deja esta responsabilidad al nivel inferior (IPX). SPX es un protocolo orientado a conexión, en el que se establece un identificador para esas conexiones (que pueden ser unidireccionales o bidireccionales). Aunque el emisor y el receptor se identifican a través de las direcciones IPX (red, nodo y conector), es necesario utilizar también direcciones SPX ya que varias de estas conexiones pueden multiplexarse sobre la misma dirección IPX. Además, SPX comprueba cada cierto tiempo la actividad de las conexiones establecidas, de forma que puede terminar las que se encuentran inactivas durante un periodo de tiempo prolongado. La comunicación entre IPX y SPX no se establece mediante llamadas a los servicios correspondientes, sino que se ha definido otro mecanismo de interacción entre ellos mediante el proceso residente NPSD (NetWare Protocol Stack Daemon o Demonio de la Pila de Protocolos de NetWare). Protocolos de transporte de las redes Microsoft Como ya se mencionó en capítulos anteriores, las redes Microsoft utilizan el protocolo NetBIOS a nivel de transporte para realizar la comunicación entre estaciones. Este protocolo fue diseñado en 1983 por Systec Inc. (hoy Hughes LAN System) para IBM con el propósito de establecer un protocolo de comunicación en redes locales de pequeño tamaño. Posteriormente se incluyó como protocolo de alto nivel en los sistemas operativos de Microsoft DOS y Windows. NetBIOS identifica a las estaciones a través de un nombre (que, como máximo, puede tener 16 caracteres de longitud) y los organiza como una estructura plana (es decir, todos los equipos se encuentran a un mismo nivel y no existe ninguna jerarquía en la red). 246 REDES DE ÁREA LOCAL RA-MA Como se explicó en el capítulo 5, apartado 5.5.3, las versiones más recientes de los sistemas operativos de Microsoft no usan el protocolo NetBEUI para transmitir información por la red. Tampoco necesitarían NetBIOS (se puede utilizar TCP/IP y utilizar nombres de dominio, como ocurre en Windows 2000/XP), pero éste todavía se incluye para disponer de compatibilidad con la red de Microsoft (y permitir la comunicación con equipos Windows 9x/NT). En vez de usar NetBEUI, NetBIOS debe trabajar sobre otros protocolos que ofrezcan transporte de la información por la red, y normalmente se usa NetBT. Cuando NetBIOS funciona sobre TCP/IP, puede ser necesario realizar una traducción de direcciones entre los nombres NetBIOS y las direcciones IP asignadas a las estaciones. WINS (Windows Internet Naming Service o Servicio de Nombres de Windows en Internet) permite realizar la conversión a una dirección IP de estación a través de su nombre NetBIOS (o al revés). El servicio WINS se proporciona a través de una base de datos distribuida en servidores de la red. Los clientes consultan primero una tabla local (guardada en el archivo C:\WINDOWS\LMHOSTS.SAM) para comprobar si pueden obtener la correspondencia; en caso contrario, envían las solicitudes WINS a los servidores para que éstos las resuelvan. A diferencia de otros protocolos como ARP, las consultas WINS no se envían por difusión a toda la red y las reciben las estaciones correspondientes para devolver sus direcciones IP o nombres NetBIOS. En su lugar, cada equipo registra su dirección IP y su nombre NetBIOS en un servidor WINS que es el encargado de resolver las peticiones. Esta técnica permite disminuir el tráfico de difusión de la red y permite el acceso a redes remotas. Para mantener la base de datos actualizada, cada estación debe registrarse en el servidor WINS cuando establece su conexión a la red en el inicio (a través de una dirección IP fija o asignada mediante DHCP). El uso de WINS permite a un equipo conectarse con estaciones NetBIOS o acceder a una red local Microsoft de forma remota (a través de TCP/IP), además de integrarse plenamente con el servicio DNS (este protocolo se verá en el apartado siguiente). Hay que tener en cuenta que la resolución WINS tiene menos prioridad que la resolución DNS. Esto quiere decir que, para obtener la dirección IP de un equipo, primero se comprueba con DNS para ver si es un nombre de dominio y, de no obtener resultados, se consultaría el servicio WINS (en el apartado relativo al protocolo DNS se explica con detalle esta interacción). EJEMPLO 6.1 Veamos un ejemplo práctico de utilización de WINS. Supongamos que tenemos dos redes locales conectadas mediante un encaminador y dentro de ellas se encuentran funcionando estaciones Windows 9x y Windows NT, como se muestra en la figura 6.4. La pregunta que surge es la siguiente: ¿puede un equipo de una de esas redes acceder a los dominios y grupos de trabajo definidos en la otra red? RA-MA CAPÍTULO 6: El NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN 247 Figura 6.4. Ejemplo de acceso a recursos compartidos de la red Microsoft. En las redes pueden haber sido especificados dominios o solamente grupos de trabajo. Por su parte, los nombres de los equipos especificados debajo de las direcciones IP son nombres NetBIOS. En principio, el encaminador que conecta las dos redes no difunde los mensajes del protocolo NetBIOS que generan las estaciones de cada red. Por lo tanto, no podrá realizar una exploración de ella para acceder a recursos compartidos. Sin embar-go, puede especificar en su tabla local WINS las correspondencias entre direcciones IP y nombres NetBIOS, aunque en este caso deberá especificar las direcciones de todos los equipos (que pueden modificarse con el tiempo). De esta forma, podrá acceder a los recursos compartidos. Gracias a los servidores WINS, una estación de una red (por ejemplo, Ortega) puede conectarse a los recursos compartidos de la otra especificando la dirección IP del servidor WINS (podría ser cualquiera de la red 198.64.126.0), lo que le permitirá obtener las direcciones y nombres de todos los equipos de ella. Esta solución resulta más adecuada ya que no es necesario realizar ningún cambio en la configuración cuando se añaden, modifican o eliminan equipos del otro segmento. Este modo de funcionamiento es equivalente a la situación de un equipo que desea acceder a los recursos compartidos de una red remota. En el apéndice B, apartado B.1.2 se explica con detalle cómo configurar un equipo cliente del protocolo WINS, mientras que la configuración de un servidor se verá en el capítulo 10, apartado 10.2.3. 6.3. EL NIVEL DE APLICACIÓN Hasta ahora, los protocolos y servicios estudiados tenían como finalidad el intercambio de información entre un origen y un destino, controlando todos los errores que se pudieran producir. Este objetivo, aunque resulta de vital importancia en redes de comunicación, está bastante alejado de las necesidades de los usuarios. A ellos no les importa cuál es el formato de los paquetes que se envían, si hay que numerarlos o la cantidad de información que cabe en ellos, lo que les importa es poder mandar un correo electrónico urgente a un compañero, copiar un archivo a su disco duro o navegar tranquilamente por la web en busca de algún tipo de información. 248 REDES DE ÁREA LOCAL RA-MA Para salvar ese abismo que existe entre los servicios que proporciona una red de comunicación y los servicios que demandan los usuarios, se incluye en la arquitectura la capa de aplicación. En ésta aparecen protocolos para la gestión de correo electrónico, envío y recepción de archivos, etc. Será responsabilidad de los programas la interacción con el usuario (mediante ventanas, iconos, menús, etc.), pero la comunicación se realizará mediante llamadas a los servicios de aplicación. 6.3.1. Funciones del nivel de aplicación Existen multitud de aplicaciones que los usuarios demandan para su trabajo y entretenimiento. Muchas de ellas son responsabilidad del nivel de aplicación (y, por lo tanto, deben implementarlas los protocolos), aunque en la mayoría de las ocasiones esa responsabilidad se comparte entre los protocolos a este nivel y los programas de aplicación. Algunas de las funciones más importantes que recaen sobre el nivel de aplicación son las siguientes: Control de la seguridad. Transferencia de archivos. Correo electrónico. Servicios de directorio. En una red donde existe multitud de usuarios trabajando y existe gran cantidad de elementos que se manejan en común (impresoras, etc.), es necesario establecer unos mecanismos que puedan llevar a cabo un control de la seguridad. Este control impide que personas no autorizadas puedan realizar operaciones no permitidas o tengan acceso a información confidencial. Los problemas de seguridad de las redes pueden dividirse en términos generales en cuatro áreas interrelacionadas: Secreto: Trata de mantener la información fuera del alcance de usuarios no autorizados. Validación de identificación: Determinar con quién se está hablando antes de revelar información delicada o hacer un trato de negocios. No repudio: Se encarga de asegurar la autenticidad del emisor del mensaje para que no reniegue de él. Control de integridad: Trata de identificar que el mensaje recibido es original y no ha sido modificado en su viaje. La mayoría de estos problemas los resuelven los servicios de la capa de aplicación o el propio programa de comunicación (si la red no tiene definidos esos servicios). En otros casos, los problemas de seguridad también se resuelven en capas más bajas de la arquitectura y utilizando dispositivos adecuados. En los capítulos 9 y 11 se explican con detalle todas las cuestiones relacionadas con la seguridad en redes. RA-MA CAPÍTULO 6: El NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN 249 La manipulación de archivos dentro de una red de ordenadores es una de las operaciones más comunes e importantes que se suelen llevar a cabo por los usuarios. Esa manipulación de archivos puede ser la transferencia de una máquina a otra, la lectura, la escritura, el borrado, etc. Para que alguna de esas operaciones se pueda llevar a cabo, el usuario de la red debe estar perfectamente identificado (por su nombre y contraseña) y disponer de los derechos necesarios. les: En la manipulación de archivos en red intervienen tres elementos fundamentaPrograma de manipulación de archivos: Es aquél que le permite al usuario realizar la operación u operaciones concretas sobre los archivos. Para funcionar correctamente, debe utilizar los servicios proporcionados por el nivel de transporte de la red. Sistema de archivos local: Es aquél que funciona sobre el ordenador donde se encuentra trabajando el usuario. Deberá ser capaz de interpretar el contenido de los archivos, ya que suele ser el receptor de ellos. Sistema de archivos remoto: Es aquél donde se encuentran todos los archivos a los que los usuarios desean acceder. Por lo tanto, es el encargado de autentificar los usuarios y comprobar los permisos. En el caso de la operación de transferencia de archivos, suelen intervenir dos ordenadores que actúan de cliente (normalmente la estación de trabajo donde está sentado el usuario) y servidor (que gestiona la ingente cantidad de archivos). Llevar a cabo esta operación depende del sistema operativo del servidor y del programa de transferencia que maneja el usuario. Por su parte, el servicio de correo electrónico (e-mail) consiste en el envío y recepción de mensajes de texto (además de un conjunto de archivos adjuntos) desde un usuario origen a otro destino, sin necesidad de que el destinatario se encuentre conectado y disponible para su recepción. Aunque el servicio de correo electrónico se puede diseñar como un sistema de transferencia de archivos, este último carece de algunas características que lo diferencian del anterior: Es posible transmitir un mensaje a un grupo de usuarios a la vez. La información de un mensaje está bastante estructurada, y se incluye el nombre y dirección del emisor y el destinatario y la fecha y hora de envío. Es más fácil de utilizar por los usuarios, ya que todo el programa de envío de correo está integrado en una sola aplicación. 250 REDES DE ÁREA LOCAL RA-MA Finalmente, el servicio de directorio de una red es aquél que proporciona información a los usuarios acerca de todos los elementos de ella y permite configurar determinados parámetros de seguridad también en ella. Según OSI, directorio es una colección de sistemas abiertos que cooperan para mantener una base de datos con información referente a un conjunto de objetos pertenecientes al mundo real. Un ejemplo de servicio de directorio es el NDS de Novell (Directory NetWare Services o Servicio de Directorio de NetWare), donde se guarda información acerca de todos los objetos que son susceptibles de ser gestionados en una red. También se utiliza el servicio de directorios en redes Microsoft Windows y, en ese caso, utilizan un modelo basado en el protocolo X.500. Dependiendo del nivel de complejidad y de las opciones de administración y seguridad que ofrezca, un servicio de directorio suele guardar información acerca de los siguientes objetos: • • • • • • • Usuarios. Sistemas de archivos (particiones, volúmenes, etc.). Ordenadores de la red. Impresoras. Aplicaciones instaladas. Servicios de red (DHCP, DNS, etc.). Etc. En el capítulo 7 se introducirá el modelo de servicio de directorio para algunos sistemas operativos de red y así incluir posteriormente una descripción más avanzada de esos modelos de administración de seguridad. 6.3.2. Protocolos de alto nivel Los protocolos de transporte ofrecen un servicio que permite la transferencia de datos entre dos procesos de forma fiable y controlada. Estos servicios son utilizados por protocolos de capas superiores para ofrecer a los usuarios un servicio más ajustado a sus necesidades, como los expuestos en el apartado 6.4. Estos protocolos situados por encima del nivel de transporte se denominan protocolos de alto nivel (o protocolos a nivel de aplicación). Como se ha visto, la arquitectura de referencia OSI de ISO divide a los protocolos de alto nivel en tres capas (sesión, presentación y aplicación), aunque las arquitecturas de redes comerciales actuales solamente definen el nivel de aplicación. Si son necesarios servicios de nivel de sesión o presentación, éstos deberán incluirse dentro de los programas de aplicación, ya que la arquitectura puede no soportarlos. Los protocolos de alto nivel se parecen a otros protocolos de otros niveles en que también deben definir direcciones que permitan a los usuarios acceder a los servicios; posteriormente, el nivel de transporte (o los niveles inferiores) deberá convertir esa dirección a otra de más bajo nivel. En otros casos, el nivel de aplicación RA-MA CAPÍTULO 6: El NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN 251 puede utilizar direcciones definidas a niveles inferiores (normalmente de transporte). Por lo demás, los protocolos de alto nivel difieren del resto en que persiguen unos objetivos de comunicación diferentes, más cercanos a las necesidades de los usuarios. Sistema de nombres de dominio A los usuarios de Internet les resulta complicado trabajar con direcciones de transporte (dirección IP más número de puerto), sobre todo porque son difíciles de recordar. Para solucionar este problema, Paul Mockapetris definió el protocolo DNS (Domain Name System o Sistema de Nombres de Dominio). Éste se encarga de convertir direcciones formadas por cadenas de caracteres ASCII (como, por ejemplo, www.jccm.es) en direcciones binarias de transporte. Para administrar las direcciones de dominio, se decidió optar por una clasificación jerárquica de nombres. Cada dirección está formada por una cadena de caracteres que se divide en varios nombres separados por puntos. A un nivel superior, se encuentran los nombres genéricos (también llamados nombres de primer nivel), que son de dos tipos: genéricos y de país. Junto a estos nombres genéricos aparece el nombre distintivo de la organización (nombre de segundo nivel). Dentro de la organización pueden definirse subdominios, de forma que también hay que especificarlos. Finalmente, a un nivel inferior se especifica el nombre asignado al equipo. Por ejemplo, una dirección completa de dominio puede ser www.miweb.com, siendo com el dominio de primer nivel, miweb de segundo nivel y www es el nombre del equipo. Los nombres genéricos y de país aparecen listados en las tablas 6.6 y 6.7. Tabla 6.6. Dominios genéricos DNS Dominio com edu gov int mil net org Significado Comercial. Instituciones educativas. Gobierno Federal de Estados Unidos. Organizaciones internacionales. Fuerzas Armadas de Estados Unidos. Proveedores de servicio de Internet. Organizaciones sin carácter de lucro. Los dominios genéricos se encuentran en el nivel más alto de la jerarquía y los nombres completos de dominio se van construyendo de derecha a izquierda. En la parte más a la izquierda se especifica el nombre de la máquina (suele ser corriente nombrar la máquina utilizando el tipo de servicio sobre el que trabaja, como www, ftp, etc., de forma que resulta más sencillo identificar el equipo). El ejemplo 6.2 muestra algunos casos de nombres de dominio completos. Hay que tener en cuenta que la división jerárquica en dominios para nombrar equipos puede no seguir la estructura física de la red subyacente, de forma que pueden existir equipos dentro del mismo segmento o subred que pertenezcan a subdominios distintos. RA-MA 252 REDES DE ÁREA LOCAL Tabla 6.7. Algunos dominios de países en DNS Dominio es it jp nl ru Significado España. Italia. Japón. Países Bajos. Federación Rusa. A las direcciones completas de dominio se les llama nombres totalmente cualificados o FQDN (Fully Qualified Domain Name), y son absolutas porque especifican la ruta completa en la jerarquía hasta llegar al elemento. Cada equipo de la red tendrá un único nombre FQDN (aunque tenga más de un adaptador de red instalado). Por su parte, un dominio está formado por el espacio de nombres que comparten el mismo dominio de primer nivel y segundo nivel (es decir, todos los nombres que hay por debajo de un dominio de segundo nivel en la jerarquía). EJEMPLO 6.2 Supongamos que tenemos la organización jerárquica de nombres de dominio que aparece en la figura 6.5. Figura 6.5. Ejemplo de jerarquía de nombres de dominio. Los dominios de primer nivel se han representado mediante elipses, mientras que los dominios de segundo nivel y subdominios se han representado utilizando rectángulos. RA-MA CAPÍTULO 6: El NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN 253 Según la estructura vista en esa figura, tenemos los siguientes nombres de dominio para los equipos que aparecen: garcía.uclm.edu winnt.uclm.edu www.uclm.edu popeye.upm.edu filemón.upm.edu novell.desarrollo.empresa.com gonzález.desarrollo.empresa.com ftp.ventas.empresa.com La pregunta que surge ahora es: ¿dónde se guarda la información relativa a la organización interna de los dominios? El modelo del DNS distribuye la información relativa a los dominios en los servidores DNS de la red. Esta información almacenada constituye una zona, que está definida por un conjunto de dominios y/o subdominios. Esto significa que la zona tiene autoridad sobre el dominio, es decir, es la zona la que guarda la información relativa a la organización del dominio. Normalmente las zonas se guardan como una base de datos en determinados servidores DNS, desde donde es posible administrar los dominios definidos en ella. El ejemplo 6.3 aclara todos estos conceptos. EJEMPLO 6.3 Siguiendo con la estructura de la figura 6.4, tenemos: • • • • • garcía, winnt y www pertenecen al dominio uclm.edu. popeye y filemón pertenecen al dominio upm.edu. novell y gonzález pertenecen al dominio desarrollo.empresa.com. ftp pertenece al dominio ventas.empresa.com. novell, gonzález y ftp pertenecen al dominio empresa.com. La configuración de zonas puede diferir de la jerarquía por cuestiones de administración. En el ejemplo podríamos encontrar las siguientes zonas: • • • • • • • edu. es. com. uclm.edu. upm.edu. empresa.com. desarrollo.empresa.com. 254 REDES DE ÁREA LOCAL RA-MA Hay que tener en cuenta que si se desea definir una zona para la red de la organización, deberá existir al menos un servidor DNS que guarde la información de configuración de ésta. En caso de que no se defina ninguna zona, los servidores DNS existentes funcionarán como caché50 de nombres exclusivamente. Esto quiere decir que el servidor no define ninguna zona, y se limita solamente a recibir peticiones de los equipos y buscar en su caché para ver si las puede resolver. Si no las puede resolver, reenvía esas solicitudes a otros servidores DNS conocidos. El establecimiento de las zonas de los dominios se basa en gran medida en cuestiones relativas al tamaño de la organización y subdominios definidos, velocidad de los enlaces que comunican los servidores DNS, tasa de tráfico esperada entre ellos, etc. Por estas razones, en muchas organizaciones grandes suele ser complicado establecer criterios concretos para la división en zonas. La información de zona está estructurada en forma de registros de recursos51 (RR), cuyos tipos aparecen expuestos en la tabla 6.8. En algunas situaciones (como, por ejemplo, un dominio grande), puede resultar conveniente crear un subdominio en una zona distinta a la que se encuentra el dominio padre (como ocurre en el ejemplo 6.3 con el subdominio desarrollo.empresa.com). Será la zona que contiene el dominio padre la que autorice y delegue el control a la nueva zona para que gestione el subdominio de forma autónoma. La base de datos de una zona está almacenada en un servidor DNS primario, de forma que todos los dominios que contiene ésta se gestionan desde el equipo. Sin embargo, no resulta conveniente mantener un único servidor primario para la zona, ya que en caso de fallo no se podrán resolver esas direcciones. Por lo tanto, en la organización también se pueden configurar uno o más servidores DNS secundarios, que se encargan de mantener copias actualizadas de la información de zona. La actualización se realiza mediante volcados totales o parciales de la información de zona, llamados transferencias de zona. Las transferen-cias parciales se llaman transferencias de zona incrementales, y a veces se utilizan con el propósito de reducir la cantidad de información que se transmite por la red. Así mismo, los servidores DNS primarios pueden notificar a los secundarios que se ha producido una modificación en la zona, con el fin de que actualicen sus informaciones de zona lo antes posible. El protocolo DNS se define en los estándares RFC 1034 y 1035. Éste utiliza una base de datos distribuida por la red en ordenadores llamados servidores DNS, que almacenan tablas de correspondencias entre direcciones de nombres de dominio y direcciones IP. Cuando una estación desea establecer una conexión con una dirección DNS, llama a la rutina del sistema o resolvedor que primero comprueba si puede obtener la dirección IP a través de una tabla local o almacenada de forma temporal de una consulta anterior. Si no la encuentra en esa tabla, envía un mensaje UDP a la Se entiende por caché a una tabla local de tamaño fijo que almacena correspondencias ya resueltas que se van eliminando conforme quedan anticuadas. 51 El formato de los registros de recursos y la información que contienen se verá a fondo en el capítulo 10 donde se explica cómo instalar y configurar un servidor DNS. 50 RA-MA CAPÍTULO 6: El NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN 255 dirección del servidor DNS que tenga configurado por defecto (normalmente el más próximo). Este servidor consulta primero en sus registros de recursos de zona la dirección solicitada (en caso de ser un servidor primario o secundario) y devuelve la dirección IP si la encuentra. Si no la encuentra ahí, consultará entonces la tabla local donde están almacenadas temporalmente consultas anteriores. En caso de que tampoco la encuentre ahí, puede consultar otros servidores DNS, operación que se denomina consulta recursiva (véase la figura 6.6). Finalmente, el resolvedor devuelve la dirección IP solicitada a la estación. Tabla 6.8: Tipos de registros de zona en servidores DNS Windows y Linux Tipo (Windows) A Tipo (Linux) A AAAA ATMA CNAME CNAME HINFO HINFO MB MG MINFO MR MX PTR MX NS PTR RDSI RP RT SOA SRV TXT WKS X25 Descripción Asocia un nombre de dominio de equipo con su dirección IP. Es igual que el registro A, pero se utiliza en direcciones IPv6. Asocia direcciones de dominio con direcciones ATM. Se utiliza para asignar otro nombre (alias) de un nombre de dominio de equipo. Guarda información adicional de un equipo, como el tipo de CPU que lleva o el sistema operativo instalado. Registra un nombre de buzón de correo en un equipo. Registra un nombre de grupo de correo en un equipo. Registra información adicional sobre un nombre de buzón de correo. Registra un cambio de buzón de correo. Registra un intercambiador de correo. Es una referencia a un servidor primario de la zona que se ha subordinado. Asigna una dirección IP a un nombre de dominio para llevar a cabo correspondencias inversas (se verá más adelante en este apartado). Asigna un nombre de dominio a un número de teléfono de RDSI. Registra la dirección de correo de una persona responsable del buzón de correo. Especifica el nombre del dispositivo intermedio que se utiliza para acceder a una red local. Indica que los registros son de autoridad para la zona. Se usa para localizar servidores que proporcionen tipos de servicios específicos (POP, LADP, etc.). Asigna un texto descriptivo a un nombre de dominio. Establece los servicios conocidos para el nombre de dominio del equipo (FTP, Telnet, etc.). Asocia un nombre de dominio a una dirección X.25. 256 REDES DE ÁREA LOCAL RA-MA Figura 6.6. Ejemplo de resolución recursiva a través del DNS. El cliente envía la solicitud de resolución al servidor DNS cuya dirección conoce. Éste no puede establecer la correspondencia, por lo que se la pasará al servidor de nombres raíz “.”, puesto que no conoce la dirección IP del servidor de la zona domi.com. El servidor raíz conoce la dirección del servidor de zona com, por lo que le envía la petición para que la resuelva. El proceso continúa hasta que el servidor DNS domi.com puede establecer la correspondencia, que es enviada de nuevo por el mismo camino por el que llegó. Dependiendo del sistema operativo instalado, la tabla local puede estar almacenada en distintos directorios del disco duro. Por ejemplo, para algunas versiones de Microsoft Windows ésta se encuentra en el archivo HOSTS.SAM de la carpeta WINDOWS. En Linux, esta tabla local se guarda en el archivo /etc/hosts, y en todos los casos se pueden incluir entradas manualmente con direcciones de equipos bien conocidos. En la mayoría de estas tablas suele aparecer la entrada que se refiere al equipo local, como puede ser 127.0.0.1 localhost. Los servidores DNS son capaces de resolver correspondencias directas, es decir, recibida una dirección de nombre, éstos devuelven la dirección IP asociada (éstas son las operaciones de resolución normales y, de hecho, eran las únicas aceptadas en las primeras versiones del protocolo DNS). Así mismo, también son capaces de resolver correspondencias inversas, devolviendo una dirección de nombre cuando reciben una solicitud con una dirección IP. Las resoluciones inversas se utilizan en situaciones determinadas, por ejemplo, cuando un servidor DNS ha solicitado una resolución directa a otro y por seguridad quiere comprobar que esa correspondencia es cierta. El problema que plantean las resoluciones inversas es que, conforme se ha organizado el espacio de nombres de los dominios y éstos en las zonas, estas consultas deben hacer una búsqueda en todos los dominios de la red. De este modo, las consultas inversas tardarían demasiado tiempo en resolverse. Para solucionar este problema, en el estándar de DNS se ha reservado el dominio especial in-addr.arpa (funciona con IPv4) o ipv6.int (funciona sobre IPv6), que debe definirse en una zona tantas veces como dominios existan en ella. RA-MA CAPÍTULO 6: El NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN 257 A diferencia de los dominios del DNS, el dominio in-addr.arpa (o ipv6.int) está definido por todos los subdominios en orden inverso, junto con su dirección IP asociada (también aparecen los octetos en orden inverso, ya que el nombre de un dominio se lee al revés a una dirección IP). Los registros que guardan estas correspondencias inversas son punteros de registros de recursos (PTR). Es posible que la herramienta de administración del servidor DNS cree automáticamente las resoluciones inversas, aunque a veces hay que establecerlo manualmente. Con el fin de facilitar la administración de zonas en los servidores DNS, algunos sistemas operativos para estaciones cliente permiten la actualización dinámica. Ésta consiste en que la estación cliente notifica de forma automática al servidor DNS cualquier cambio en su dirección IP o nombre de dominio. Así, el administrador de la zona no tendrá que configurar ese nuevo registro en el servidor, ya que éste lo hará automáticamente cuando reciba la notificación de la estación cliente. Un servidor DNS que funciona bajo el sistema operativo Windows NT/2000 puede configurarse también para integrar la resolución WINS. Para ello, dentro de la zona se guarda un tipo especial de registro denominado registro de recursos WINS, que especifica una dirección de servidor WINS. La figura 6.7 muestra un ejemplo de orden de resolución de dirección. Figura 6.7. Ejemplo de resolución WINS a través del DNS. Los pasos para la resolución de la solicitud son iguales que los que aparecen en la figura 6.6 salvo en el paso final. En este caso, puesto que no existe ningún equipo que tenga el nombre de dominio xx.domi.com, el servidor genera una petición WINS para ver si existe la estación cuyo nombre NetBIOS es xx. En el RFC 1032 se especifica cómo registrar un nombre de dominio en Internet, e incluye los formularios que son necesarios. Así mismo, la configuración de un servidor DNS se encuentra definida en el RFC 1033. En el capítulo 10, apartado 10.3.2, se explica con detalle la configuración de los servidores del protocolo DNS para Microsoft Windows y Linux, mientras que la configuración de los clientes aparece en el apéndice B. Hay que tener en cuenta que, aunque las implementaciones 258 REDES DE ÁREA LOCAL RA-MA de los servicios DNS se basan en las especificaciones incluidas en los documentos RFC, es posible que surjan ciertas incompatibilidades entre los servidores DNS de Windows y los servidores DNS Linux. Windows 2000 es perfectamente compatible con las versiones del servidor DNS BIND de Linux 4.9.7, 8.1.2 y 8.2. Protocolos para el soporte de terminales El acceso vía terminal a un ordenador remoto ha sido tradicionalmente el modo más frecuente de comunicaciones en red. El programa emulador de terminal envía los comandos que escribe el usuario en el terminal (equipo formado por pantalla, teclado y dispositivo de comunicación) para que se ejecuten en el servidor, y este último devuelve los resultados para que aparezcan en la pantalla de la estación del usuario. Normalmente, el servidor suele funcionar bajo UNIX/Linux y las estaciones de los usuarios pueden carecer de capacidad de proceso o tener cualquier otro sistema operativo más ligero. La comunicación mediante emulación de terminal es una técnica bastante pobre de transmisión de datos en red, ya que no permite la transferencia de archivos entre el servidor y el cliente. Figura 6.8. Estructura de una conexión Telnet. Aunque no aparece en la imagen, cada conexión TCP necesita de una conexión IP y ésta, de capas inferiores. La red de comunicación puede ser una LAN o una WAN como Internet, aunque sus protocolos a niveles inferiores no se han incluido en este diagrama. RA-MA CAPÍTULO 6: El NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN 259 Uno de los protocolos de nivel de aplicación de uso más extendido de TCP/IP es Telnet (Telematics Network). Se trata de un protocolo simple de terminal remoto que permite establecer una conexión TCP entre un usuario y un servidor. El usuario realiza pulsaciones sobre el teclado del terminal, que son enviadas al servidor por la red, procesadas por éste; tras lo cual, se realiza el envío de nuevo al usuario del resultado de la ejecución de los comandos, que aparece sobre la pantalla del terminal. La estructura de una conexión Telnet se muestra en la figura 6.8. Una vez que se ha establecido la conexión Telnet, el usuario ejecutará los comandos y tendrá la sensación de que se encuentra delante del servidor. Por esta razón, los comandos que reconoce el protocolo Telnet son los mismos que se manejan en el sistema operativo del servidor. En servidores Telnet basados en sistemas Linux, la petición de conexión de un terminal remoto se recibe por un proceso residente llamado inetd. Éste genera a su vez otro proceso servidor por cada solicitud de conexión llamado generalmente in.telnetd (el nombre suele depender de la versión de Linux instalada). Este último es el que se encarga de la comunicación y la llamada al proceso que autentifica al usuario: login. Figura 6.9. Ventana del programa Telnet incluido en Microsoft Windows. Puesto que se trata de un servicio orientado a la conexión, primero hay que establecer la comunicación con el servidor, a través de su dirección IP. Una vez conectado y autentificado, el usuario podrá ejecutar los comandos reconocidos por el servidor. Debe especificarse también el puerto por el que se desea conectar (Telnet es el número 23) y el tipo de emulador de terminal (los más utilizados son el VT100 y el ANSI). La implantación del protocolo Telnet adolece de un gran problema: cada vez que el usuario pulsa una tecla, el carácter correspondiente a ésta viaja por la red, llega al servidor y éste lo reenvía al terminal para que aparezca por pantalla, actuando como un “eco”. Esta característica hace que Telnet provoque un gran tráfico de datos que reducen la eficacia de la red y de la CPU del servidor. Además, el envío de los comandos y la información de autentificación (nombre de usuario y contraseña) se realiza sin utilizar ningún tipo de cifrado, por lo que puede ser interceptada durante su recorrido. 260 REDES DE ÁREA LOCAL RA-MA Otra conexión de terminal remoto que se puede utilizar en Linux es rlogin. Ésta funciona igual que Telnet, salvo que los usuarios no tienen que introducir una contraseña para autenticarse antes de iniciar la sesión. Esta característica impide que las contraseñas viajen por la red y puedan ser capturadas por otros usuarios. Finalmente, debemos mencionar que existe una variante al protocolo Telnet que es capaz de realizar conexiones remotas con el entorno gráfico del servidor. Este método se llama x-terminal en los sistemas Unix/Linux o Terminal Server en los sistemas Windows. En el capítulo 10 se explica cómo realizar este tipo de conexiones para ejecutar aplicaciones gráficas. Protocolos de transferencia de archivos En una red donde coexiste una gran cantidad de sistemas operativos diferentes, es bastante común que los usuarios deseen acceder a archivos de esos sistemas e, incluso, que transfieran archivos de un sistema a otro a través de la red. Un protocolo de transferencia de archivos ofrece un sistema de ficheros virtual, es decir, un sistema uniforme (estandarizado) para la red que no depende de ningún sistema operativo en particular. Por lo tanto, este protocolo debe realizar funciones que permitan el manejo de ficheros (sus operaciones normales de creación, copia, etc.) y la conversión entre diferentes formatos y sistemas de ficheros. El protocolo FTP (File Transfer Protocol o Protocolo de Transferencia de Ficheros) permite la transferencia de archivos entre ordenadores, y fue introducido en la arquitectura de redes TCP/IP. Al igual que el protocolo Telnet, FTP fue utilizado inicialmente en la red Arpanet antes de que fuera operacional TCP/IP y ha evolucionado hasta el estándar que conocemos hoy en día. En lo que respecta al funcionamiento interno de FTP, se debe citar que éste define dos procesos arrancados en cada extremo (entidades pares) con dos conexiones TCP cada una. Una conexión se utiliza para intercambiar información de control, mientras que la otra sirve para transmitir los datos de los archivos o ficheros. La conexión de control permanece durante toda la sesión FTP, mientras que la conexión de datos se elimina y se vuelve a crear por cada transferencia de archivo. La conexión de control se usa para coordinar el número de puerto TCP a utilizarse en la transmisión de cada archivo, además de otras operaciones. La figura 6.10 muestra un esquema simplificado de comunicación FTP. Existe en el mercado una gran variedad de programas clientes y servidores FTP, aunque, en el caso de los programas servidores, éstos suelen incluirse en los discos de instalación del sistema operativo correspondiente. En el caso de los programas clientes, actualmente se tiende al diseño de una interfaz gráfica que sustituya a los comandos clásicos y que permita una mayor simplicidad de manejo por el usuario. La figura 6.11 muestra el clásico cliente FTP en línea de comandos incluido en los sistemas operativos de Microsoft. Por su parte, en las tablas 6.9, 6.10, 6.11, 6.12, 6.13 y 6.14 se muestran las órdenes de la utilidad cliente FTP. Éstas sirven para todos los clientes FTP de línea de comandos (MS-DOS, Windows 3.x / 9x / ME / RA-MA CAPÍTULO 6: El NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN 261 NT / 2000 / XP y Linux). Hay que tener en cuenta que las órdenes que aparecen en la tabla 6.10 permiten el uso de caracteres comodín (“?” y “*”) para especificar un conjunto de archivos. Figura 6.10. Modelo de comunicación FTP. Cada entidad FTP necesita establecer dos conexiones TCP: una para control y otra para datos. Los niveles inferiores de la arquitectura no han sido especificados en el diagrama. Tabla 6.9. Órdenes para iniciar o terminar una sesión FTP Orden Utilidad BYE Termina la sesión FTP y sale del programa. CLOSE Termina la sesión FTP, pero no sale del programa. DISCONNECT Termina la sesión FTP, pero no sale del programa. OPEN <servidor> Inicia una sesión FTP con un servidor remoto, especificado por su dirección IP o nombre DNS. QUIT Termina la sesión FTP y sale del programa. USER <nombre> Inicia una sesión FTP con el nombre de usuario indicado. Tabla 6.10. Órdenes para manejo de múltiples archivos en FTP Orden MDELETE <archiv> MGET <archivos> MPUT <archivos> Utilidad Elimina los archivos especificados en el servidor remoto. Copia los archivos desde el servidor FTP a la estación local. Copia los archivos desde la estación local al servidor remoto. 262 REDES DE ÁREA LOCAL RA-MA Tabla 6.11. Órdenes para manejo de archivos en FTP Orden APPEND <arch1> <arch2> Utilidad Anexa el contenido del archivo <arch1> de la estación local al archivo <arch2> que se encuentra en el servidor FTP. DELETE <archivo> Elimina el archivo situado en el servidor remoto. GET <arch1> <arch2> Copia el archivo <arch1> que está situado en el servidor remoto a la estación local con el nombre <arch2>. PUT <arch1> <arch2> Copia el archivo <arch1> de la estación local al servidor remoto con el nombre <arch2>. RECV <arch1> Copia el archivo <arch1> del servidor remoto a la <arch2> estación local con el nombre <arch2>. RENAME <arch1> Cambia el nombre del archivo <arch1> situado en el <arch2> servidor remoto por <arch2>. SEND <arch1> Copia el archivo <arch1> de la estación local al servidor <arch2> remoto con el nombre <arch2>. Tabla 6.12. Órdenes para cambiar el estado de la conexión FTP Orden ASCII BELL BINARY DEBUG GLOB HASH PROMPT STATUS TRACE TYPE <tipo> VERBOSE Utilidad Indica que los archivos a transferir son de texto ASCII. Activa o desactiva la opción para que se emita un sonido cada vez que la orden introducida se complete. Indica que los archivos a transferir son binarios. Activa o desactiva el modo de depuración. Activa o desactiva el uso de comodines (? y *) para especificar nombres de archivos. Activa o desactiva la aparición del signo # por cada bloque de información transferido. Activa o desactiva la aparición de mensajes de confirmación cuando se completan las órdenes. Muestra el estado actual de la sesión FTP. Activa o desactiva la inspección de paquetes enviados. Establece el tipo de archivos que se enviarán: ascii o binary. Activa o desactiva la visualización de todas las respuestas. Para los servidores FTP basados en sistemas Linux, la petición de conexión de un terminal remoto se recibe también por el proceso inetd. En este caso, cuando recibe una solicitud de conexión, genera a su vez otro proceso servidor llamado generalmente in.ftpd (el nombre de este último también suele depender de la versión de Linux instalada). RA-MA CAPÍTULO 6: El NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN 263 Tabla 6.13. Órdenes para manejo de carpetas en FTP Orden CD <carpeta> DIR <ruta> Utilidad Cambia la carpeta actual del servidor remoto. Muestra el contenido de la carpeta actual o la ruta especificada en el servidor remoto. LCD <carpeta> Cambia la carpeta actual del equipo local. LS <ruta> Muestra el contenido de la carpeta actual o la ruta especificada en el servidor remoto. MDIR <ruta> Muestra el contenido de la carpeta actual o la ruta especificada en el servidor remoto. Admite caracteres comodín. MKDIR Crea la carpeta indicada en el servidor remoto. <carpeta> MLS <ruta> Muestra el contenido resumido de la carpeta actual o de la ruta especificada en el servidor remoto. PWD Muestra la carpeta actual en el servidor remoto. RMDIR <carp> Elimina la carpeta especificada en el servidor remoto. Tabla 6.14. Otras órdenes utilizadas en FTP Orden ! <orden> ? <orden> HELP <orden> REMOTEHELP <orden> Utilidad Ejecuta el comando del DOS indicado en la máquina local. Muestra la ayuda de un comando. Muestra la ayuda de las ordenes. Muestra la ayuda del comando especificado enviada por el servidor remoto. Figura 6.11. Ventana de una sesión FTP. Este programa se incluye en Microsoft Windows y utiliza el servicio FTP de nivel de aplicación de la arquitectura. 264 REDES DE ÁREA LOCAL RA-MA Existe una versión del protocolo de transferencia de archivos llamada TFTP (Trivial File Transfer Protocol o Protocolo Trivial de Transferencia de Archivos) que funciona de la misma forma que FTP, pero en este caso no se realiza autenticación antes de la conexión (es decir, no se solicita nombre de usuario ni contraseña). Este protocolo se utiliza, por ejemplo, cuando una estación sin disco duro desea obtener de un servidor los archivos del sistema operativo para realizar el arranque. World Wide Web (WWW) La WWW (World Wide Web o Telaraña Mundial) se utiliza para acceder a información distribuida a través de todos los servidores de Internet. Dada su facilidad de uso, se ha convertido en la principal herramienta de comunicación entre ordenadores conectados y mucha gente la confunde con la propia red Internet. Figura 6.12. Ejemplo de página de hipertexto visible por el navegador. Estas páginas pueden contener enlaces a otras, texto, imágenes, sonidos, etc. El código que aparece en la parte inferior corresponde con el lenguaje HTML. El usuario accede a la WWW a través de documentos llamados páginas. Cada página puede contener texto o imágenes gráficas, además de enlaces a otras páginas distintas; a este formato de documento se le llama hipertexto o HTML (Hypertext Markup Language). Para poder ver correctamente estas páginas, se necesita un programa adecuado llamado visor o navegador. Los más conocidos actualmente son Mosaic, Netscape y Explorer. RA-MA CAPÍTULO 6: El NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN 265 Si el usuario desea cambiar de una página a otra, solamente tiene que situar el puntero del ratón sobre algún enlace y pulsar con el botón izquierdo. A estos enlaces se les llama hipervínculos y están formados por texto o imagen resaltado. Cuando un cliente escribe una dirección de una página WWW o hace clic sobre un hipervínculo, el servidor correspondiente recibe una petición TCP por el puerto 80 solicitando la página concreta. El protocolo que genera (en el lado del cliente) o recibe las respuestas (en el lado del servidor) se llama HTTP (HyperText Transfer Protocol o Protocolo de Transferencia de Hipertexto). Una página de hipertexto contiene, además del texto escrito y las referencias a las imágenes, comandos para establecer su formato. Estos comandos de formato indican si el texto es de título, el tipo de fuente en el que debe ser mostrado, la posición dentro de la página, etc. Será el programa visor el encargado de reconocer estos comandos para mostrar la página de una forma conveniente. Además de los comandos de hipertexto, los visores HTML son capaces de interpretar código escrito en otras versiones del lenguaje que extienden la funcionalidad del protocolo, como XML o el lenguaje JavaScript que va insertado en muchas de las páginas. Protocolos de gestión de correo electrónico A nivel de aplicación existen varios protocolos encargados de la transferencia y gestión del correo electrónico. Entre ellos, podemos destacar SMTP (Simple Mail Transport Protocol o Protocolo Simple de Transporte de Correo) y POP3 (Post Office Protocol Version 3 o Protocolo de Oficina Postal Versión 3). SMTP está definido en el RFC 821 y es un protocolo muy sencillo que se utiliza para transferir mensajes de correo electrónico entre equipos en los que funciona un proceso residente SMTP. Este protocolo no es capaz por sí solo de almacenar el correo enviado para su posterior consulta por los usuarios. En realidad solamente está pensado para que los usuarios reciban el correo cuando se encuentran conectados al servidor (han iniciado una sesión52 en él) y no soporta ningún mecanismo de almacenamiento de correo. Por su parte, POP3 ha sido definido formalmente en el RFC 1225 y su funcionamiento es ligeramente distinto a SMTP. Gracias a los comandos incluidos en POP3, un usuario puede establecer una sesión con un servidor de correo y obtener de él todos los mensajes que le han sido enviados. No es necesario que el usuario se encuentre conectado cuando los mensajes llegan al servidor POP3, ya que éste los almacena para que puedan ser recuperados posteriormente. En el capítulo 7, apartado 7.3 se explica con detalle el concepto de sesión. Se trata de un proceso mediante el cual el usuario se autentifica en el equipo (a través de su nombre de usuario y contraseña) y se realiza una conexión con los recursos disponibles en la red. 52 266 REDES DE ÁREA LOCAL RA-MA Existe otro protocolo de gestión de correo, llamado X.400, que ha sido estandarizado por el CCITT para su uso en OSI y que prácticamente no se utiliza. La razón fundamental de su escasa popularidad radica en que posee una complejidad muy elevada y resulta muy difícil su implementación. Protocolo NCP de Novell Todos los protocolos de la arquitectura de Novell que se han visto hasta ahora se encargan principalmente de proveer acceso a la red y comunicación con otras estaciones y servidores. Además de esta función, es necesario algún mecanismo que traduzca las órdenes de las aplicaciones de usuario en solicitudes y respuestas a servidores y estaciones. Los protocolos NCPs (NetWare Core Protocols) son un conjunto de primitivas y llamadas a servicios que se encargan de convertir las operaciones de alto nivel que realiza el usuario en peticiones que se envían por la red a través de los protocolos de capas inferiores. Los NCPs se dividen en varias categorías, dependiendo de la función que realicen. Algunos de los más importantes son los siguientes: NCPs AFP: Permiten crear, modificar y eliminar directorios y archivos de formato Macintosh en un servidor NetWare. NCPs Bindery: Se utilizan para gestionar los objetos relacionados con la administración de seguridad y permisos en Novell. NCPs de conexión: Permiten crear, mantener y liberar conexiones entre estaciones cliente y servidores. NCPs de migración de datos: Se utilizan para colocar archivos desde o hacia dispositivos de almacenamiento masivo (CD-ROM, cintas, etc.) con el fin de reducir el espacio ocupado en los volúmenes de los servidores. NCPs del sistema de archivos: Se utilizan para manipular (crear, modificar, etc.) y obtener información (nombres, permisos de acceso, tamaño, etc.) sobre ficheros, directorios y volúmenes. NCPs de mensajes: Sirven para enviar mensajes de difusión por la red, con el objetivo de obtener estaciones y servidores conectados, servicios ofrecidos, etc. NCPs de impresión: Permiten la utilización de los servicios de impresión en Novell. Cada rutina del conjunto de NCPs se conoce como un NCP individual, y se identifica con un número comprendido entre “01” y “131”, aunque existen determinados números de servicios NCP que tienen también subdivisiones. RA-MA CAPÍTULO 6: El NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN 267 6.4. INTERCONEXIÓN DE REDES: PASARELAS Antes de definir el concepto de pasarela, hay que indicar que a veces se confunde con el término encaminador. Dentro del ámbito de Internet y la arquitectura TCP/IP una pasarela es un dispositivo que se encarga del encaminamiento de la información (es la función principal de un encaminador) y la interconexión de redes diferentes. Sin embargo, la definición genérica de pasarela (gateway o puerta de acceso) es el dispositivo que permite interconectar redes que utilizan arquitecturas completamente diferentes con el propósito de que intercambien información. Por lo tanto, se trata de un elemento de gran complejidad que normalmente se diseña utilizando un ordenador personal dedicado con varias tarjetas de red y programas de conversión y comunicación. Existen dos tipos principales de pasarelas: las pasarelas a nivel de transporte y las pasarelas a nivel de aplicación. Cada una de ellas trabaja a un nivel diferente, y su uso dependerá de los tipos de redes que interconecten y de las similitudes que existan a nivel de red o a nivel de transporte. Las pasarelas son capaces de comunicar redes con diferentes arquitecturas: TCP/IP, ATM, OSI, X.25, etc. Dependiendo de esta característica, estos dispositivos deberán resolver diferentes problemas de comunicación, como pueden ser: ⌦Tipo de conexión: Una red puede utilizar un servicio orientado a la conexión y la otra sin conexión. ⌦Direccionamiento: Puede ser necesaria la utilización de una tabla de conversión de direcciones de estaciones. ⌦Tamaño del mensaje: Una red puede tener un tamaño máximo de mensaje diferente a la otra. ⌦Control de errores: Una red puede descartar con facilidad los mensajes ante problemas, o mantenerlos en circulación durante demasiado tiempo. El proceso de conversión entre diferentes protocolos de redes puede asemejarse a la situación de un europeo que viaja en su coche por las distintas carreteras de este continente. Es posible que se encuentre con normas de circulación vial diferentes a las que tenga que acostumbrarse e, incluso, si viaja al Reino Unido, deberá dejar su coche y alquilar otro con el volante situado a la derecha. Existen varios algoritmos utilizados por las pasarelas en la conversión y adaptación de mensajes entre redes diferentes. Uno de ellos consiste en encapsular los mensajes dentro del campo de carga útil del bloque de información que transmite la red. Este caso se utiliza cuando el origen y el destino utilizan el mismo protocolo, pero las redes intermedias, no. 268 REDES DE ÁREA LOCAL RA-MA Las pasarelas se utilizan ampliamente en la red Internet, donde se interconecta una gran cantidad de redes diferentes. Para controlar el acceso a estas pasarelas, en el nivel de red de la arquitectura TCP/IP se han definido los protocolos de encaminamiento BGP-4 (Border Gateway Protocol o Protocolo de Borde de Pasarela), EGP (Exterior Gateway Protocol o Protcolo de Pasarela Exterior), EIGRP (Enhanced Interior Gateway Routing Protocol o Protocolo de Encaminamiento de Pasarela Interior Mejorado) e IGRP (Interior Gateway Routing Protocol o Protocolo de Encaminamiento de Pasarela Interior). Las pasarelas también se utilizan cuando se desea conectar una red local a un gran computador mainframe de IBM o DEC. Tradicionalmente, estos equipos utilizaban terminales para el acceso a los recursos que utilizaban protocolos de comunicación propietarios, como es el caso de la arquitectura de red SNA. También pueden utilizarse para acceder a los recursos de una red utilizando los servicios y protocolos de una arquitectura distinta. El ejemplo 6.4 muestra este caso en detalle. EJEMPLO 6.4 Supongamos que en una empresa donde se utiliza ampliamente la red Microsoft se ha instalado por primera vez un servidor Novell NetWare. Para la administración de este servidor se han configurado varias estaciones instalándoles el cliente para redes NetWare y especificando que sus inicios de sesión se realicen en esta red (para ver cómo se realiza esta configuración, se puede consultar el capítulo 2, apartado 2.4, y el apéndice B, apartado B.1.2). La pregunta que pueden hacerse los administradores de la red es la siguiente: ¿hay que configurar de la misma forma todos los equipos de la empresa para que puedan acceder a los recursos del servidor Novell? Evidentemente, habrá que buscar otras alternativas antes de ponerse a instalar clientes de Novell en un centenar de equipos o incluso más... La solución más inmediata a este problema consiste en configurar un equipo como pasarela para que en las estaciones no haya que cambiar la configuración actual. De esa forma, esos equipos podrán acceder a los recursos del servidor Novell utilizando la conexión a los recursos de la red Microsoft que ya funciona en ellos (el cliente para redes Microsoft). La figura 6.13 muestra cómo se realizaría esta configuración. La configuración de la pasarela podría realizarse de forma muy sencilla instalando en ella el sistema operativo Windows 2000 Server y el Servicio de puerta de enlace para NetWare, que se incluye en los discos de instalación suministrados por Microsoft. Hay que instalar también el protocolo NWLink en la pasarela para que ésta pueda comunicarse con el servidor Novell. Finalmente, se ha de destacar que este tipo de configuración puede permitir una migración progresiva hacia la configuración del cliente Novell en las estaciones. No se recomienda el establecimiento permanente del uso de la pasarela ya que la conversión de los mensajes SMB a NCP puede ser bastante lenta. RA-MA CAPÍTULO 6: El NIVEL DE TRANSPORTE Y EL NIVEL DE APLICACIÓN 269 Figura 6.13. Utilización de una pasarela para el acceso a la red Novell. Aunque en este caso la pasarela conecta los dos tipos de redes que en principio son independientes, éstas pueden estar unidas a la misma red sin que se produzca ningún conflicto. 6.5. EJERCICIOS 6.1. Enumera todos los protocolos de transporte vistos en el capítulo e indica la clase a la que pertenecen, teniendo en cuenta el protocolo a nivel de red sobre el que trabajan. 6.2. Indica cuáles son las primitivas que se ejecutan en dos estaciones que establecen una comunicación para enviar un mensaje a nivel de transporte utilizando el protocolo TCP. 6.3. Indica cuáles son las primitivas que se ejecutan en dos estaciones que establecen una comunicación para enviar un mensaje a nivel de transporte utilizando el protocolo UDP. 6.4. Enumera cuáles son las direcciones que debe especificar un programa de aplicación para comunicarse con otro remoto utilizando la pila de TCP/IP. 6.5. Explica cómo solucionarías el problema de comunicación de una estación cliente que desea conectarse al servicio de una máquina de la que no conoce el número de puerto asociado. 6.6. ¿Los nombres NetBIOS se refieren a equipos o a usuarios conectados a la red? ¿Por qué es así? 270 REDES DE ÁREA LOCAL 6.6. BIBLIOGRAFÍA Libros en castellano: [RDC97] Redes de computadoras Andrew S. Tanenbaum Prentice-Hall, 1997, 3.ª ed. [RED01] Redes Locales José Luis Raya y Cristina Raya Ra-Ma, 2001 Páginas de Internet: [CYBENET] Apuntes y trabajos de temas de informática en general Varios autores http://www.cybercursos.net/ [IETORG] Documentos RFC Varios autores (en inglés) http://ietf.org/rfc.html [NOVCOM] Documentación productos Novell Varios autores (en inglés) http://www.novell.com/documentation-index/ [PROCOM] Documentación variada sobre protocolos e interfaces de red Varios autores (en inglés) http://www.protocols.com/protoc.shtml [RFCORG] Traducción al castellano de los documentos RFC http://www.rfc-es.org/ RA-MA CAPÍTULO 7 LOS SISTEMAS OPERATIVOS DE RED En este capítulo y los siguientes se abre una nueva puerta con la introducción del concepto de sistema operativo de red. Así mismo, se exponen algunos aspectos prácticos relativos a Microsoft Windows y Linux, como sistemas operativos de red más representativos en la actualidad. Todos los contenidos anteriores se centraban exclusivamente en los conceptos de diseño interno de una red de comunicaciones: cableado, dispositivos, servicios, protocolos, etc. Aunque muchas veces se pasa por alto al sistema operativo, éste es un componente imprescindible en el funcionamiento de una red de comunicación. Su tarea fundamental consiste en administrar adecuadamente todos los recursos de ella, un trabajo nada sencillo cuando existe una gran cantidad de equipos. Figura 7.0. Un componente muy importante del software de red es el sistema operativo 272 REDES DE ÁREA LOCAL RA-MA 7.1. INTRODUCCIÓN Desde el punto de vista de los usuarios que trabajan sobre una red local, ésta no es más que un conjunto de ordenadores conectados mediante cableado y tarjetas, además de los sistemas operativos instalados en esas estaciones. Lo que distingue a una red de ordenadores de otro tipo de configuraciones es la capacidad de proceso de las estaciones de los usuarios. Tradicionalmente, han existido configuraciones como servidor/terminal, donde existía un gran computador central al que estaban conectados terminales “tontos”. Esos terminales no tenían capacidad de cálculo, sino que se limitaban a enviar los comandos tecleados por el usuario para su ejecución en el servidor, y presentar en pantalla los resultados obtenidos. Esa configuración no se considera una red de ordenadores, aunque se necesite cableado y dispositivos adicionales para la comunicación53. Para que se considere como tal, cada ordenador debe ser capaz de procesar información y realizar trabajo útil, salvo cuando necesite realizar una operación que requiera la comunicación por la red. Por definición, un sistema operativo es un conjunto de programas que funcionan sobre una computadora y que se encarga de administrar de forma eficiente los recursos de ella. Se podría decir que un sistema operativo es a un ordenador como un coordinador es a un proyecto empresarial: su labor fundamental es la de poner de acuerdo a las diferentes partes (dispositivos que componen el ordenador) para que puedan trabajar conjuntamente y de la forma más eficiente posible. Así mismo, el sistema operativo también incluye un conjunto de rutinas básicas que facilitan la tarea de desarrollo de aplicaciones. Desde el punto de vista de la gestión que lleva a cabo un sistema operativo sobre los recursos de red, podemos dividir a éstos en dos tipos: sistemas operativos ligeros y sistemas operativos pesados. Un sistema operativo ligero (habitualmente requiere un menor espacio de almacenamiento en disco y menores requerimientos de memoria y capacidad de proceso) es aquél que no ha sido desarrollado con soporte para la administración de los recursos de la red (aunque sí da soporte al acceso como estación cliente a la red, mediante programas y módulos adicionales). Por su parte, un sistema operativo pesado o de red es aquél especialmente diseñado para trabajar en una red y permitir la administración eficiente de sus recursos. 7.2. CLASIFICACIÓN DE LAS REDES LOCALES En el capítulo 1 se vieron varias clasificaciones de las redes, atendiendo a diferentes características, como son su topología, localización geográfica, etc. En este apartado vamos a ver otra clasificación de las redes locales, pero esta vez atendiendo a los tipos de sistemas operativos instalados en las estaciones y la relación existente entre ellos. 53 Recuérdese la definición de red de comunicación que aparece en el capítulo 1. RA-MA CAPÍTULO 7: LOS SISTEMAS OPERATIVOS DE RED 273 Dentro de esta clasificación, encontramos dos tipos de LAN diferentes: Redes con servidor: En este tipo de redes existe al menos una máquina llamada servidor donde se encuentran todos los recursos a compartir. El resto de máquinas, llamadas clientes o estaciones de trabajo, solamente pueden usar los recursos locales o del servidor (no los de otras estaciones de trabajo). Dependiendo del tipo de sistema operativo instalado en el servidor, éste puede ser dedicado (utilizado solamente para gestionar los recursos de la red) o no dedicado (además de llevar la gestión de la red puede funcionar como estación de trabajo). Redes entre iguales: Cada máquina puede compartir sus recursos con el resto, de forma que pueden ser clientes o servidores a la vez. Aunque esta clasificación define con claridad cómo se administran los recursos de una red, cuando hablamos de sistemas operativos comerciales, hay que reconocer que existen pequeños matices respecto a esos tipos y, de hecho, algunos de ellos toman características de los otros. Por ejemplo, existen redes basadas en un servidor donde es posible administrar parte de los recursos que poseen las estaciones clientes (como su disco duro, alguna impresora conectada, etc.). En una red con servidor es normal que exista más de uno para distribuir la carga entre ellos; también se utilizan estaciones solamente para dar servicio a usuarios en una red entre iguales, por lo que podrían convertirse en servidores dedicados. Las ventajas y desventajas del uso de un modelo u otro dependen de la centralización o distribución de recursos. En una red basada en servidor, existe la figura del administrador, que se encarga de gestionar los recursos del servidor de forma conveniente. En una red entre iguales, cada usuario decide cómo gestionar sus recursos locales, permitiendo o no el acceso de otros usuarios. Las ventajas de utilizar una red basada en un servidor son las siguientes: Un servidor dedicado tiene más capacidad de proceso de datos que una máquina que opera además como estación. Resulta mucho más económico comprar una sola máquina de gran capacidad aunque las estaciones clientes no sean tan rápidas. Tener la información almacenada en una o unas pocas máquinas permite tener mayor control de la seguridad contra accesos no autorizados. Las tareas de administración se simplifican, ya que el administrador tiene todos los recursos centralizados. No es necesario que los usuarios tengan conocimientos avanzados de administración, ya que ellos no están autorizados a realizar esas tareas. Resulta mucho más sencillo realizar actualizaciones de programas y copias de seguridad cuando toda esa información y aplicaciones están centralizadas en los servidores. 274 REDES DE ÁREA LOCAL RA-MA No existe el riesgo de que la caída o mal funcionamiento de una estación pueda bloquear al resto (aunque sí la caída del servidor). Sin embargo, las redes entre iguales también ofrecen ventajas sobre las redes con servidor: ⌦ El sistema operativo es de menor costo (ya que es más ligero). Un sistema operativo de servidor es mucho más caro y suele estar limitado a un número máximo de estaciones a las que le puede dar servicio54. ⌦ La gestión de las impresoras se descentraliza, lo que permite instalarlas en las estaciones para que los usuarios no tengan que caminar hasta los servidores para recoger sus trabajos. ⌦ Aunque los usuarios deben disponer de mayores conocimientos para compartir sus recursos, a los administradores les resulta mucho más fácil reconfigurar este tipo de sistemas. 7.3. LAS REDES MICROSOFT Todas las versiones de Microsoft Windows, desde la 3.11, ofrecen soporte para el trabajo dentro del ámbito de una red local. Aunque en sus primeras versiones la administración de la red se realizaba de una forma muy simplificada, en sus nuevos productos ésta se ha completado ofreciendo a usuarios y administradores la potencia necesaria para el trabajo en entornos de redes locales de gran tamaño. Como se mencionó en el capítulo 2, apartado 2.3.6, las redes Microsoft trabajan a través de una pila de protocolos conocida como NetBIOS/NetBEUI/SMB. Aunque la administración de la red varía dependiendo de las versiones de Windows instaladas en las estaciones de la LAN, básicamente existen dos modos de trabajo de una red Microsoft, los cuales pueden coexistir sin problemas: Trabajo sin servidor de red: En este caso funciona como una red entre iguales, y todas las estaciones pueden compartir sus recursos locales con el resto. Este tipo de configuración funciona cuando se instala en los ordenadores versiones de Windows 3.11, 95, 98, ME, NT Workstation o 2000 Professional (todas estas versiones están optimizadas para su funcionamiento como estaciones de trabajo). A este modo de funcionamiento en red se le llama también grupo de trabajo. Trabajo con servidor de red: Si alguna de las estaciones lleva instalado una versión de Windows NT Server, 2000 Server o 2000 Advanced Server (optimizados para su funcionamiento como servidores de recursos), ésta puede funcionar como servidor de la red, proporcionando administración y Al número máximo autorizado de estaciones que puede gestionar un servidor se les llama licencias. 54 RA-MA CAPÍTULO 7: LOS SISTEMAS OPERATIVOS DE RED 275 seguridad avanzada, al estilo de una red Novell. A diferencia de este último, aquí aparece el concepto de dominio (NT o 2000) y el servidor también puede funcionar como estación de trabajo. Cuando un usuario enciende una estación de trabajo, ésta carga el sistema operativo y solicita el inicio de una sesión. Una sesión es la conexión lógica de la estación de trabajo con la red, para el acceso a los recursos compartidos. En Windows, se pueden seleccionar los siguientes inicios de sesión: Red Microsoft (Cliente para redes Microsoft), en dos versiones: • Inicio de sesión en un dominio de Windows NT/2000: Permite conectarse a una red Microsoft con servidor Windows NT/2000, lo que da acceso a esos recursos. • Inicio de sesión sin servidor (grupo de trabajo): Se conecta a la red Microsoft entre estaciones pares, para compartir recursos locales y acceder a otros remotos. Red Novell (Cliente para Novell NetWare): Se utiliza para iniciar una sesión en la red Novell (si es que existe algún servidor de este tipo). La figura 7.1 muestra la ventana de selección del inicio de sesión en Windows 98. Aunque solamente se puede especificar un inicio de sesión principal, el sistema operativo es capaz de acceder a los servicios de varios tipos de redes a la vez, si es que inicia una sesión en ellos. Por ejemplo, un usuario puede seleccionar un inicio de sesión principal en la red Novell y, una vez se haya identificado por su nombre de usuario y contraseña, el sistema le solicitará otro nombre de usuario y contraseña para iniciar una sesión en la red Microsoft. Si introduce estos datos, podrá acceder a los servicios de estas dos redes a la vez. Esta característica se permite gracias a la utilización del protocolo ODI a nivel de enlace de datos (véase el capítulo 4, apartado 4.7.3). Por su parte, la configuración de inicio de sesión en un equipo Windows 2000 Professional se realiza desde la opción “Propiedades” del menú contextual de Mi PC seleccionando, después, “Identificación de red || Propiedades”. Dependiendo de si las estaciones de trabajo llevan instalado Windows 95/98 o Windows NT Workstation/2000 Professional, el usuario dispondrá de más potencia a la hora de administrar o acceder a recursos compartidos. La diferencia fundamental que existe entre estas versiones consiste en que las dos primeras solamente pueden funcionar bajo el sistema de archivos FAT o FAT 32, mientras que las otras pueden trabajar también sobre NTFS, un sistema de archivos que ofrece mayor seguridad y fiabilidad (para más detalles, consulte el capítulo 8 donde se explica con más detalle el sistema de archivos de Microsoft Windows). Además, si en la red existe algún servidor Windows NT Server/2000 Server, es posible administrar desde éste los derechos de acceso a los recursos de las estaciones NT Workstarion o 2000 Professional. 276 REDES DE ÁREA LOCAL RA-MA Figura 7.1. Configuración del inicio de sesión en una estación de trabajo Windows 98. A estas ventanas se accede normalmente pulsando con el botón derecho del ratón sobre el icono del escritorio “Entorno de Red” y seleccionando la opción “Propiedades”. También se puede acceder a través del icono “Red” del Panel de control. 7.3.1. Grupos de trabajo En una red Windows para trabajo en grupo (versiones 3.11/95/98/ME), toda la información relativa a la administración de recursos compartidos, la definición de usuarios y, en general, todas las cuestiones relativas a la seguridad, está distribuida en las estaciones de trabajo. Esta característica es radicalmente distinta a la administración de una red con servidor (como Novell) donde toda esa información está almacenada en un servicio de directorio en los servidores. La administración de permisos en una red entre iguales se lleva a cabo a nivel de equipos y no a nivel de usuarios. Los únicos objetos que existen en este modelo son los ordenadores (identificados por su nombre NetBIOS) y los grupos de trabajo (también con un nombre). La figura 7.2 muestra la ventana de configuración del nombre de la estación y su grupo. Nótese que cada ordenador puede pertenecer solamente a un grupo de trabajo. Así mismo, no se permite que dos ordenadores tengan el mismo nombre aunque pertenezcan a distintos grupos de trabajo. Si esta situación llega a producirse, la estación que inicia con un nombre de equipo duplicado muestra un mensaje de error como el que aparece en la figura 7.3 en el inicio de la sesión. RA-MA CAPÍTULO 7: LOS SISTEMAS OPERATIVOS DE RED 277 Figura 7.2. Configuración de la identificación de equipo y grupo de trabajo. A esta ventana se accede a través de las propiedades de red o del panel de control. En la red Microsoft no se permite que dos ordenadores pertenecientes al mismo grupo de trabajo tengan el mismo nombre (se notifica con un mensaje de error al arrancar la segunda estación). Figura 7.3. Mensaje de error producido por una estación con el mismo nombre NetBIOS. Este error aparece en la estación que arranca cuando encuentra en la red otra que ya tiene el mismo nombre. Cada ordenador deberá tener un nombre distinto en la red y resulta útil que varios de éstos pertenezcan al mismo grupo de trabajo, con el fin de facilitar el acceso a recursos compartidos. Sin embargo, si dos ordenadores no pertenecen al mismo grupo, también pueden compartir recursos, pero en este caso será necesario acceder a otro grupo dentro de la red. Las figuras 7.4 y 7.5 muestran la ventana de exploración de la red accesible a través del icono “Entorno de Red” del escritorio o a través del Explorador de Windows sobre la parte del árbol titulada “Entorno de red”. 278 REDES DE ÁREA LOCAL RA-MA Figura 7.4. Ventana de exploración de la red. Cuando un usuario explora el contenido del entorno de red, las estaciones que aparecen directamente son aquéllas que pertenecen al mismo grupo de trabajo. Si se desea ver las estaciones que pertenecen a otros grupos de trabajo, habrá que hacer doble clic para explorar “Toda la red”. Figura 7.5. Grupos de trabajo y dominios visibles en el entorno de red. Obsérvese que a primera vista no es posible distinguir si se trata de uno u otro tipo. Si un usuario desea ver todos los grupos de trabajo existentes en la red, deberá hacer doble clic sobre el icono “Toda la red” del entorno de red. Ahí aparecerán todos los grupos de trabajo accesibles y, si se hace doble clic sobre alguno de ellos, aparecerán también todos los equipos pertenecientes a éste. Sin embargo, además de los grupos de trabajo, también se muestran los dominios existentes en la red, que serán explicados en el apartado siguiente. La inspección de los equipos conectados a la red Microsoft también se puede realizar a través del Explorador de Windows, accesible desde el Menú de Inicio. La figura 7.6 muestra un ejemplo de grupos de trabajo y equipos visibles desde esta ventana. Para acceder a un equipo, puede indicarse directamente el nombre en el cuadro de texto “Dirección”, precedido de dos barras invertidas “\\”. RA-MA CAPÍTULO 7: LOS SISTEMAS OPERATIVOS DE RED 279 Figura 7.6. Ventana del explorador de Windows. Con esta herramienta también se pueden acceder a los recursos de la red Microsoft. En las estaciones de una red configurada como grupo de trabajo se pueden definir usuarios en cada una de ellas, pero éstos se utilizan solamente con el propósito de establecer diferentes configuraciones de escritorio y no por cuestiones de administración de permisos. La creación y eliminación de usuarios se realiza desde el icono “Usuarios” situado en el Panel de control. Sin embargo, es posible instalar en las estaciones una utilidad, llamada Editor de planes del sistema o Poledit, que permite cierto grado de administración de seguridad en la estación local, de cara a los usuarios definidos en ella. Esta utilidad se incluye en el disco de instalación del sistema operativo, aunque no se instala por defecto. 7.3.2. Dominios en Windows NT Una red basada en Windows NT Server utiliza un servicio de directorio donde se almacena toda la información relativa a la seguridad y administración de permisos en los servidores (y en las estaciones de trabajo, si son NT Workstation). Este modelo ofrece mayores ventajas de administración para redes locales de mayor tamaño, y permite centralizar la seguridad en uno o varios equipos. 280 REDES DE ÁREA LOCAL RA-MA Un dominio de Windows NT consiste en un conjunto de ordenadores (servidores y estaciones de trabajo) además de otros dispositivos (como impresoras, etc.) que forman un modelo de seguridad y en el que se definen unas cuentas de usuario. Todos esos elementos se administran como una única entidad dentro del ámbito de la red local. En un dominio pueden existir los siguientes tipos de equipos: Controlador primario de dominio (PDC o Primary Domain Controler): Debe existir siempre uno como máximo, y en él se guarda toda la base de datos con la información del dominio. Debe tener instalado Windows NT Server obligatoriamente. Controlador de reserva de dominio (BDC o Backup Domain Controler): Puede existir uno o más y se encarga de mantener el dominio en caso de sobrecarga o mal funcionamiento del controlador primario de dominio. Debe tener instalado Windows NT Server obligatoriamente Servidor: Puede haber uno o más en el dominio, y se utiliza como servidor de archivos, con la salvedad de que no realiza validaciones de inicio de sesión de los usuarios. Estación de trabajo: Son los clientes del dominio. Según el modelo de dominio, la administración de seguridad se establece para usuarios y grupos definidos en él. En general, estos dos elementos pueden ser de dos tipos: • Locales: Un usuario o grupo local es aquél que se encuentra definido en la estación o servidor local y, por lo tanto, solamente puede tener derechos sobre los recursos locales. • Globales: Un usuario o grupo global es aquél que se encuentra definido en el dominio y, por lo tanto, se le pueden conceder derechos sobre los recursos que se administran en él. Cuando se define un usuario dentro de un dominio, éste tendrá acceso (dependiendo de los derechos concedidos) a los recursos incluidos en éste. Si se han definido varios servidores dentro de ese dominio, el usuario no tendrá que identificarse en todos ellos, sino solamente una vez en todo el dominio. El concepto de dominio en Windows NT es parecido al concepto de árbol NDS de Novell, ya que los dos comparten la idea básica de modelo de administración centralizado para todos los servidores, estaciones y dispositivos de la red. Cada estación de trabajo puede configurarse para conectarse a un dominio en el momento de arrancar el sistema operativo. La figura 7.7 muestra la ventana de autenticación que aparece cuando el usuario se desea conectar a un dominio. Así mismo, la figura 7.8 muestra la ventana de configuración de inicio de sesión, accesible a través de las propiedades del Cliente para redes Microsoft, visible desde las propiedades de red. Solamente puede seleccionarse un dominio, así que, si el usuario RA-MA CAPÍTULO 7: LOS SISTEMAS OPERATIVOS DE RED 281 desea conectarse a otro distinto, deberá hacerlo desde la ventana de exploración de la red (figuras 7.4, 7.5 y 7.6), haciendo doble clic sobre él e introduciendo sus datos en una ventana parecida a la de la figura 7.7. Figura 7.7. Ventana de autenticación de un dominio de Windows NT. El usuario debe especificar su nombre, contraseña y el dominio al que desea conectarse. Este tipo de ventana aparece (con algunas modificaciones) cuando el usuario desea iniciar una sesión en un dominio de Windows NT o 2000 desde una estación cliente Windows 9x/Me/NT/2000 o servidor NT/2000. Figura 7.8. Ventana de acceso a un dominio de NT. Al iniciar el sistema operativo en la estación cliente, solamente se permite el acceso a un solo dominio, especificando un nombre de usuario y contraseña. El grupo “Opciones para el inicio de sesión en red” permite indicar si el sistema operativo iniciará los servicios de red en el arranque o cuando el usuario los necesite. Cuando en una red existe más de un dominio (a causa del aumento de tamaño en la LAN), se pueden crear relaciones de confianza entre éstos. Éstas consisten en asociaciones entre dominios para permitir que los usuarios se puedan conectar a éstos sin necesidad de registrarse con su nombre y contraseña en todos ellos. Esta 282 REDES DE ÁREA LOCAL RA-MA posibilidad permite también que el administrador de la red no tenga que conceder permisos a los usuarios en todos los dominios a los que necesita conectarse. En posteriores capítulos se explicará cómo crear relaciones de confianza entre dominios. 7.3.3. Dominios en Windows 2000 Una red basada en Windows 2000 Server, al igual que Novell NetWare, utiliza un servicio de directorio para almacenar toda la información para administración y seguridad de la red. Existen tres versiones de Windows 2000 para instalación como servidor de red: Windows 2000 Server (versión básica para administración de una red local con servidor), Windows 2000 Advanced Server (versión que permite el manejo de recursos en una red con un elevado número de estaciones de trabajo) y Windows 2000 Datacenter Server (soporta una mayor cantidad de procesadores y memoria instalada). En una red con servidores Windows 2000 (en cualquiera de las versiones expuestas anteriormente) también existe el concepto de dominio, con algunas diferencias con respecto a su predecesor (Windows NT). Aquí existe un nuevo servicio de directorios llamado directorio activo (Active Directory) donde se guarda toda la información de administración de la red55. Este modelo es más completo que el tradicional de NT, ya que incluye nuevos objetos que permiten administrar de forma más eficiente y flexible toda la seguridad de la red (objetos como servidores, usuarios, grupos, etc.). Además, este modelo integra todos los servicios de la red, como la gestión de nombres DNS, el correo electrónico y otros protocolos (DHCP, etc.). El directorio activo está basado en el modelo de información definido por X.500, aunque lo implementa de una forma ligeramente distinta. Siguiendo el modelo de directorio activo, el concepto de dominio es idéntico al utilizado en Windows NT, es decir, se trata de un conjunto de servidores, estaciones, usuarios y otros recursos de la red que comparten un mismo modelo de seguridad. Sin embargo, los dominios de Windows 2000 están completamente integrados con DNS (véase el capítulo 6, apartado 6.3.2), de forma que éstos se nombran siguiendo la misma nomenclatura. El contenido de cada dominio puede organizarse jerárquicamente utilizando unidades organizativas (Organizational Units u OU), un método muy similar al usado por Novell con sus objetos contenedores para reflejar la estructura administrativa de la empresa y establecer los derechos de una forma más simple. Las unidades organizativas son contenedores dentro de los cuales se pueden crear otros u objetos como usuarios, grupos y otros recursos. Así mismo, los dominios pueden establecer relaciones entre ellos, formando una estructura jerárquica llamada árbol de dominios. En la raíz de este árbol se encuentra el dominio raíz, desde donde cuelga el resto de dominios hijos. Un ejemplo de esta estructura arborescente aparece reflejado en la figura 7.9. En Windows NT Server también puede instalarse opcionalmente el directorio activo, con el objetivo de ofrecer una integración y coexistencia completa con servidores Windows 2000. 55 RA-MA CAPÍTULO 7: LOS SISTEMAS OPERATIVOS DE RED 283 Figura 7.9. Ejemplo de estructura de directorio activo en Windows 2000. Cada dominio se encuentra organizado jerárquicamente, y éstos, a su vez, se relacionan en una jerarquía superior. Además de la división jerárquica de la organización, el directorio activo de Windows 2000 permite especificar la estructura de la red (y su división en subredes y segmentos) mediante la definición de sitios (sites). Un dominio puede estar formado por varios sitios distintos (situados en zonas geográficas diferentes) y conectados mediante enlaces a larga distancia. Para permitir una búsqueda rápida de objetos y recursos de la red, además del directorio activo, se incluye el catálogo global (global catalog). Este catálogo contiene una lista con copias de muchos de los objetos definidos en el directorio activo. Gracias al uso del catálogo global, los usuarios y administradores no necesitan conocer en qué dominios se encuentran los objetos buscados. Un árbol de dominio es un conjunto de dominios que están conectados mediante unas relaciones de confianza. Así mismo, cuando varios árboles se conectan mediante relaciones, se forma un bosque. Los objetos que maneja Windows 2000 para la administración de la seguridad de la red son los siguientes: Carpeta compartida: Puede ser accesible desde un equipo remoto. Contacto. 284 REDES DE ÁREA LOCAL RA-MA Contenedor: Son unidades organizativas creadas por defecto por el sistema. Éstas contienen referencias a determinados objetos, como, por ejemplo, el contenedor predeterminado Users formado por los usuarios que han iniciado una sesión en el directorio activo. Equipo: Estación de trabajo desde donde se pueden conectar los usuarios. Grupo: Está formado por varios usuarios y puede ser local o global. Impresora. Unidad organizativa (OU): Puede contener otros objetos. Usuario: También pueden ser locales o globales. Figura 7.10. Ejemplo de árbol de dominio en Windows 2000. Como se puede observar, existen dos tipos de contenedores: los que pueden contener a cualquier otro objeto, llamados unidades organizativas, y los que pueden contener a otros objetos pero no unidades organizativas (su icono es idéntico al de una carpeta normal), llamados contenedores. Por defecto, el sistema crea algunos contenedores por defecto, como Domain Controlers, Users, Computers, etc. RA-MA CAPÍTULO 7: LOS SISTEMAS OPERATIVOS DE RED 285 Para la consulta de la información almacenada en el directorio activo, se utiliza el protocolo LDAP (Lightweight Directory Access Protocol o Protocolo Ligero de Acceso al Directorio). Un usuario envía consultas LDAP al servidor de dominio para recibir posteriormente las respuestas con la información solicitada. En la filosofía de diseño de Windows 2000 se ha prestado especial atención a aspectos de compatibilidad e interacción con otras aplicaciones y protocolos de comunicación de redes. Esta característica se ve reflejada en la forma en la que se nombran los objetos del directorio activo, que puede realizarse de varias formas distintas. Así, un objeto puede nombrarse de varias formas a la vez: Utilizando la notación específica del directorio activo: En el modelo de directorio activo de Microsoft, al igual que ocurre con el NDS de Novell, pueden existir objetos que tengan el mismo nombre común, pero que se encuentren en localizaciones distintas dentro del dominio o el árbol (no es así para los objetos usuario, equipo y grupo). Para distinguirlos, también es necesario utilizar su nombre completo, llamado nombre distinguido (distinguished name o DN). Éste identifica el dominio en el que se encuentra el objeto además de la ruta completa a través de la jerarquía de contenedores. Todos los dominios del directorio activo tienen un nombre común, llamado componente de dominio (Domain Component o DC). Dentro de un mismo árbol de dominio, todos los dominios hijos heredan el mismo nombre que sus padres añadiendo su DC. Por ejemplo, la figura 7.11 muestra un árbol de dominio y los correspondientes DC. Cuando dos dominios no se encuentran en el mismo árbol, éstos no comparten los mismos DC que tienen sus padres. El nombre de un objeto, tanto si se trata de un dominio como otro tipo de objeto, debe especificarse desde lo general a lo particular, es decir, desde la raíz hasta alcanzar el objeto. Hay que incluir los nombres de los objetos por los que se va pasando, desde la organización (Organization u O), pasando por los componentes de dominio (DC) y por los nombres comunes (Common Name o CN) del resto de objetos dentro del dominio. Por ejemplo, nombres de dominio de objetos del directorio activo pueden ser los siguientes: DC=Ventas,DC=Empresa,DC=COM,O=Internet (objeto contenedor) /O=Grupo/DC=Madrid/DC=Personal (también es un contenedor) Y ejemplos de nombres de usuarios pueden ser los siguientes: CN=López,DC=Ventas,DC=Madrid O=Empresa (usuario López) CN=toboso,DC=asesoría,DC=dominio,O=local (usuario toboso) /O=local/DC=dominio/DC=Users/CN=garcía (usuario garcía) Utilizando el formato de direcciones de correo electrónico: Esta notación está formada por el nombre del usuario, seguido del símbolo “@” y el nombre del dominio (como, por ejemplo, [email protected]). 286 REDES DE ÁREA LOCAL RA-MA Utilizando las direcciones HTTP: Éstas se construyen especificando el nombre completo del servidor y dominio, además de la ruta completa entre contenedores hasta llegar al objeto en cuestión (por ejemplo, la dirección http://servidor.midominio.com/usuarios/garcía). Empleando los nombres del protocolo LDAP: Es parecido al anterior, ya que, para nombrar un objeto, hay que especificar toda la jerarquía de contenedores hasta llegar a él, además del servidor y dominio donde se encuentra. Sin embargo, la notación empleada para especificar los contenedores y objetos se parece más a la utilizada por Novell: CN para especifiar el nombre común del objeto, OU para indicar el nombre del contenedor o contenedores donde se encuentra y O para especificar el nombre de la organización. Un ejemplo de nombre LDAP podría ser el siguiente: ldap://svr.dominio.com/CN=garcía,OU=usuarios,O=empresa. Figura 7.11. Ejemplo de árbol de dominio en Windows 2000. Todos los objetos que cuelgan de éste comparten parte del nombre completo, es decir, dominio.local. Los nombres completos de algunos de los objetos mostrados son los siguientes: asesoría.dominio.local, desarrollo.dominio.local, admin.dominio.local, personal.dominio.local, garcía.users.dominio.local, etc. 7.3.4. Instalación de aplicaciones y componentes en Windows En Windows existen dos tipos de programas que pueden instalarse en el sistema: los componentes de Windows (programas y utilidades que se incluyen en el disco de instalación del sistema operativo) y las aplicaciones (programas de uso general que no se incluyen en el disco de instalación de Windows porque se distribuyen como aplicaciones separadas o no son desarrolladas por Microsoft). RA-MA CAPÍTULO 7: LOS SISTEMAS OPERATIVOS DE RED 287 Las aplicaciones se instalan y desinstalan en todas las versiones de Windows utilizando el icono “Agregar o quitar programas”, página “Instalar o desinstalar”, que se encuentra en el Panel de control. También se pueden instalar directamente ejecutando el programa de instalación de la propia aplicación (tendrá un nombre del estilo INSTALAR.EXE, INSTALL.EXE, SETUP.EXE, INSTALAR.BAT, etc.) a través de la opción “Ejecutar” del Menú de Inicio. Figura 7.12. Ventana de instalación y desinstalación de componentes en Windows 98. Todos esos componentes se agrupan por tipos (componentes de comunicaciones, accesorios, herramientas de Internet, etc.) y son accesibles utilizando el botón “Detalles”. El botón “Utilizar disco” se usa para instalar componentes que no se encuentran en el disco de instalación del sistema operativo, normalmente cuando se dese instalar versiones más actualizadas. Por su parte, los componentes de Windows se instalan o desinstalan desde varias ventanas del sistema dependiendo de su tipo. Los componentes de red de Windows (servicios, protocolos y clientes) se gestionan desde las propiedades del icono “Red” del escritorio o el panel de control. El resto de componentes se instalan, al igual que las aplicaciones, desde el icono “Agregar o quitar programas” en una página titulada “Instalación de Windows” o “Componentes de Windows” (dependiendo de la versión del sistema), como se muestra en la figura 7.12. Sin embargo, en Windows 2000/XP, los componentes de Windows (también los de red) se instalan o desinstalan desde el icono “Agregar o quitar programas” en la página “Componentes de Windows” (como muestra la figura 7.13). 288 REDES DE ÁREA LOCAL RA-MA Figura 7.13. Ventana de instalación y desinstalación de componentes en Windows 2000. Los componentes de red se instalan desde el icono “Servicios de red” de la lista “Componentes”). 7.3.5. Herramientas de administración en redes Microsoft La herramienta más importante para la administración de grupos de trabajo y dominios es, sin duda, el Explorador de Windows, en sus diferentes versiones para Windows 9x/ME, Windows NT y Windows 2000 (todas ellas comparten un entorno y manejo prácticamente idéntico). Su función principal consiste en dar acceso al sistema de archivos y administrar los permisos de los usuarios y otros equipos. Para administrar de forma completa los dominios de Windows NT y 2000 (en lo que se refiere a manejo de usuarios, grupos, etc.), se utilizan las denominadas Herramientas administrativas, accesibles desde el Menú de Inicio en la opción “Programas” y mostradas en las figuras 7.14 (Windows NT) y 7.15 (Windows 2000). Algunas de las herramientas más importantes que incluye Windows NT Server son las siguientes: Administrador de clientes de red: Se utiliza para crear discos de instalación del cliente de red de Microsoft en las estaciones de trabajo. Administrador de discos: Para gestionar las particiones de los discos duros instalados en la máquina local. RA-MA CAPÍTULO 7: LOS SISTEMAS OPERATIVOS DE RED 289 Administrador de servidores: Administración remota de los servidores del dominio. Administrador de usuarios para dominios: Herramienta que permite gestionar usuarios y grupos en el dominio. Editor de directivas del sistema (Poledit): Determina las restricciones de los usuarios sobre las operaciones que pueden realizar en el sistema. Figura 7.14. Opciones del menú “Herramientas administrativas” en Windows NT. Todas las utilidades incluidas se han completado y mejorado en la versión 2000 del sistema. Figura 7.15. Opciones del menú “Herramientas administrativas” en Windows 2000. Las herramientas más importantes que se utilizan para administrar los permisos del dominio son: Dominios y confianzas de Active Directory, Sitios y servicios de Active Directory y Usuarios y equipos de Active Directory. 290 REDES DE ÁREA LOCAL RA-MA Hay que tener en cuenta que una estación Windows 2000 Professional también puede funcionar como servidor de red. Para ello, hay que instalar en esa máquina todas las herramientas de administración de red que se incluyen dentro del archivo ADMINPAK.MSI del disco de instalación de Windows 2000 Server. Sin embargo, un equipo con Windows 2000 Server está más optimizado para su uso como servidor de red que un equipo con Windows 2000 Professional, cuyo núcleo es más óptimo para funcionamiento como estación de trabajo. 7.3.6. Comando NET Otra de las herramientas que se utiliza para el acceso y administración de los recursos de la red Microsoft es el comando NET. Sus opciones más importantes aparecen explicadas en la tabla 7.1. Gracias al comando NET es posible acceder a los grupos de trabajo, dominios de Windows NT o dominios de Windows 2000. La sintaxis general del comando NET es: NET [opción] [parámetros] Donde opción puede ser cualquiera de las que aparecen en la tabla 7.1. La parte parámetros depende de la opción especificada. Puede utilizarse el modificador “/?” detrás de la opción para consultar los parámetros que deben especificarse en el comando. Tabla 7.1. Algunas opciones del comando NET Opción CONFIG DIAG INIT LOGOFF LOGON PASSWORD PRINT START STOP TIME USE VIEW Descripción Muestra el nombre del equipo y su grupo de trabajo. Realiza diagnósticos de la red. Inicia o para el controlador de red. Finaliza la conexión con la red Microsoft. Inicia una sesión en la red Microsoft, ya sea a un dominio o a un grupo de trabajo. Cambia la contraseña de inicio de sesión. Controla el acceso a impresoras compartidas. Inicia los servicios de red. Para los servicios de red. Sincroniza la hora del equipo con la actual de la red. Permite conectarse a un recurso compartido de la red Microsoft, ya sea en dominios o grupos de trabajo. Muestra una lista con los equipos conectados a la red Microsoft y los recursos que comparten. RA-MA CAPÍTULO 7: LOS SISTEMAS OPERATIVOS DE RED 291 El comando NET se utiliza solamente en determinadas condiciones cuando es necesario realizar accesos especiales a los recursos compartidos (sesiones nulas, etc.). Para las operaciones normales de acceso a los recursos de la red Microsoft, se utilizan las herramientas gráficas expuestas anteriormente, ya que su manejo resulta mucho más simple. 7.4. LAS REDES LINUX En este apartado nos centraremos en introducir al lector en los aspectos básicos de administración y configuración de una red con máquinas Linux, para profundizar en aspectos avanzados en capítulos siguientes. Por cuestiones de espacio, solamente se incluirán algunas herramientas de administración que se usan en las versiones de Red Hat y SuSE. Linux se ha convertido actualmente en uno de los sistemas operativos de red más importantes dentro del mercado informático, y se ha hecho su hueco en el ámbito de los servidores en redes locales e Internet. Gracias al esfuerzo desinteresado de miles de programadores en todo el mundo, las versiones actuales gozan de una estabilidad y seguridad envidiables para sus competidores. Aunque todavía es acusado de ser un sistema poco amigable y de difícil configuración para usuarios poco experimentados, hay que reconocer que las nuevas distribuciones incluyen entornos gráficos muy cómodos y sencillos en su manejo, a la vez que potentes y profesionales. Además, la documentación ofrecida por diferentes publicaciones e Internet es increíblemente abundante, fundamentalmente porque se trata de un sistema abierto de libre distribución. En Linux, el concepto de núcleo del sistema y los programas de aplicación que lo rodean está claramente definido. El núcleo es el programa principal que se encarga de la gestión general del sistema (uso del procesador, gestión de la memoria, acceso a los dispositivos, control de la seguridad, etc.), mientras que las aplicaciones de apoyo son utilidades que se encargan fundamentalmente de facilitar la interacción con el usuario, la instalación del sistema y la gestión de programas. El código del núcleo de Linux y de algunos programas de apoyo está protegido por la licencia GNU, que permite la distribución y modificación del código fuente del sistema. Se han desarrollado varias “versiones” o distribuciones distintas de Linux, todas ellas basadas en el mismo núcleo y las mismas aplicaciones, que incluyen diferentes programas de instalación y diferentes utilidades para la gestión de aplicaciones. Las primeras distribuciones de Linux que aparecieron fueron SLS (de la que desde el año 1994 no se ofrecen nuevas versiones) y Slackware. Otras distribuciones más comerciales que han aparecido más recientemente son Red Hat, SuSE, Mandrake, Debian, Caldera, etc., y algunas otras versiones traducidas y adaptadas como la suministrada por Hispafuentes. Todas ellas se distribuyen de forma gratuita, aunque también es posible comprar cualquiera de éstas a un precio reducido, y, a cambio la empresa ofrece servicio técnico gratuito durante la instalación, además de manuales y aplicaciones extra. 292 REDES DE ÁREA LOCAL RA-MA El funcionamiento de los sistemas Linux está basado en los entornos UNIX, en lo que se refiere a la administración de procesos, la gestión de archivos y los usuarios. El núcleo de Linux soporta multiusuario, multitarea real (en forma de procesos e hilos), memoria virtual y el uso de varios procesadores simultáneos. La filosofía abierta que ha predominado en los diseñadores de Linux desde los tiempos de su creador, Linus Torvalds, ha permitido que todas las distribuciones gocen de un alto grado de integración y coexistencia con otros sistemas propietarios como Microsoft Windows o Novell NetWare. Gracias a esta característica, Linux ha pasado de ser un servidor para acceso de terminales o intercambio de archivos FTP para convertirse en un potente servidor de archivos, servidor Web y de acceso a bases de datos, servidor de correo, etc. En una red local, los equipos Linux pueden funcionar como servidores o clientes, dependiendo de los servicios que tengan instalados y del uso que les den los usuarios en un momento dado. El sistema no diferencia otros objetos que no sean de tipo usuario, grupo o equipo y la gestión de la seguridad se distribuye por las estaciones de la red. Por lo tanto, cada equipo dispone de sus propios permisos para que los usuarios locales o remotos puedan acceder a los recursos de él. Existe un usuario especial en los sistemas Linux que se crea de forma automática en la instalación de cada equipo y que posee permisos para realizar cualquier tipo de operación. Este usuario, llamado root, solamente debe utilizarse por el administrador del sistema cuando necesite realizar tareas de instalación o desinstalación de aplicaciones, configuración de dispositivos, etc. Para las operaciones comunes de explotación del sistema, se pueden utilizar otros usuarios normales ya creados. 7.4.1. Entornos de trabajo en Linux Tradicionalmente, los sistemas Unix/Linux se han basado en los entornos de línea de comandos, llamados terminales, como método de interacción con el usuario (al igual que ha ocurrido con los sistemas DOS y Windows). Sin embargo, en estos entornos de trabajo también existen sistemas gráficos para simplificar la interacción con los usuarios. En los sistemas Unix/Linux se puede seleccionar más de un entorno gráfico para trabajar con él. El más popular, aunque propietario, es el CDE (Common Desktop Enviroment o Entorno de Escritorio Común), que se utiliza en sistemas Unix. Para Linux, se utilizan los entornos KDE (K Desktop Enviroment o Entorno de Escritorio K) y Gnome (GNU Network Object Model Enviroment), cada uno de los cuales ofrece su propia apariencia de escritorio y ventanas y una forma ligeramente distinta de interacción. La figura 7.16 muestra la ventana del escritorio del KDE, versión 2.2, que se incluye en la distribución SuSE Linux 7.3. Nótese que este entorno es parecido al utilizado en los sistemas Windows, aunque existen ciertas particularidades que los distinguen (como los escritorios independientes que se pueden definir). RA-MA CAPÍTULO 7: LOS SISTEMAS OPERATIVOS DE RED 293 Figura 7.16. Ventana del escritorio del entorno KDE de SuSE Linux. Como se puede observar, su apariencia es parecida a otros entornos como Windows, donde también existe un escritorio, barra de tareas y menú de inicio. Sin embargo, en Linux se pueden definir varios escritorios (numerados en la barra de tareas como 1, 2, 3 y 4 de la figura). Los entornos de ventanas en Linux funcionan sobre un programa de gestión de ventanas (como puede ser XFree86). Por lo tanto, para acceder al entorno gráfico, el sistema carga primero este gestor antes de mostrar el entorno. El acceso al entorno gráfico en Linux (una vez que éste ha sido configurado) se realiza con el comando startx desde el terminal. La selección del tipo de entorno (KDE o Gnome) se realiza dependiendo de cuál de ellos se ha instalado; si los dos están disponibles, entonces puede establecerse uno por defecto o indicarlo en el archivo /etc/sysconfig/desktop (KDE o GNOME). También se permite configurar el sistema para el inicio automático del entorno gráfico al encender el equipo. En este segundo caso, la pantalla de inicio de sesión (login) aparece como una ventana gráfica. 294 REDES DE ÁREA LOCAL RA-MA 7.4.2. Instalación de aplicaciones La gestión de las aplicaciones instaladas en los sistemas Linux Red Hat y SuSE se realiza por medio de una utilidad llamada rpm56. Con el gestor rpm, podemos instalar y desinstalar programas de una forma muy sencilla. Si desea consultar los paquetes instalados en su sistema, debe escribir el comando: $ rpm –qa | more El comando anterior muestra todos los paquetes instalados en el sistema, una lista que puede resultar demasiado amplia si se desea consultar un paquete en concreto. En ese caso, lo mejor es usar el comando grep con una tubería para comparar el nombre del paquete. Por ejemplo, el siguiente comando comprueba si el programa joe está instalado (el sistema devolvería el nombre completo del paquete): $ rpm –qa | grep joe Para instalar un paquete, se utiliza el modificador –i de rpm: $ rpm –i nombre.del.paquete.rpm Es posible que la orden anterior genere un error en caso de que el paquete que se va a instalar necesite que otros paquetes se encuentren ya instalados (lo que se conoce como una dependencia). Así mismo, para desinstalar un paquete ya instalado se utiliza el modificador –e: $ rpm –e nombre.del.paquete.rpm Todas las opciones del comando rpm también están disponibles en las herramientas de administración de Linux en entorno gráfico que se explican en el apartado siguiente. 7.4.3. Herramientas de administración en Linux Como se ha mencionado anteriormente, la administración de los recursos de la red se realiza siempre desde las estaciones locales Linux, de forma que cada una de ellas establece los permisos para el acceso de los usuarios. Todas las operaciones de administración del sistema se pueden realizar editando de forma manual los archivos de texto que se encuentran repartidos por el sistema de archivos. Otra forma más sencilla de administrar las estaciones Linux consiste en utilizar herramientas en modo texto o gráfico que accedan a esos archivos de configuración. Dependiendo de la distribución utilizada, podemos encontrar unas herramientas u otras. En otras distribuciones de Linux se utilizan otras utilidades distintas a rpm. Es posible incluso que no exista ningún instalador y esas operaciones se deban realizar a mano. 56 RA-MA CAPÍTULO 7: LOS SISTEMAS OPERATIVOS DE RED 295 Una de las utilidades más importantes de Red Hat es control-panel (panel de control), que permite realizar todas las tareas básicas de administra-ción del sistema mediante un entorno de ventanas. Esta utilidad suele instalarse por defecto, aunque podemos comprobar si realmente la tenemos instalada ejecutando el siguiente comando desde la ventana de terminal: $ rpm –qa | grep control Este comando debe devolver un mensaje del estilo “control-panel-3.11-2” (los últimos números del nombre del paquete indican su versión), en caso de que se encuentre instalado. En caso de no estar instalado, basta utilizar el comando rpm con el modificador –i para incluirlo en nuestro sistema. La utilidad del panel de control requiere del entorno gráfico y de su ejecución como usuario root. Para acceder a la utilidad, se puede ejecutar el comando control-panel desde una ventana de terminal o seleccionar la opción correspondiente en el menú principal del entorno gráfico. En algunos casos, el sistema incluye el icono de acceso también en el escritorio. Existen varias versiones del panel de control de Linux Red Hat. La mayoría de ellas poseen una interfaz gráfica común que puede llegar a confundirlas. Sin embargo, desde la distribución 7.0 de Red Hat esta utilidad ha modificado bastante su aspecto y ha incluido nuevas utilidades y herramientas. En las figuras 7.17 y 7.18 se muestra la ventana principal del panel de control en varias versiones. Figura 7.17. Ventana principal del panel de control de Linux Red-Hat en versiones anteriores a la 7.0. Esta ventana se puede mostrar de forma horizontal (como aparece aquí) o vertical. Las opciones de configuración disponibles, de izquierda a derecha, son: nivel de ejecución, fecha y hora, impresoras, red, módem, módulos cargables del núcleo, ayuda y configuración del sistema. Muchas de las opciones accesibles desde el panel de control también se pueden utilizar como comandos independientes: por ejemplo, ktsysv (editor de nivel de ejecución), printtool (configuración de impresoras) y linuxconf (configuración general del sistema). La herramienta linuxconf puede ejecutarse tanto en modo texto como en modo gráfico (véase la figura 7.19), siempre como usuario root. La utilidad linuxconf permite administrar la configuración de la red, los usuarios y los grupos del sistema local, el acceso a particiones locales y remotas, el modo de arranque del sistema, etc. Aunque son muchos los parámetros del sistema accesibles, hay que tener en cuenta que esta utilidad no dispone de algunas opciones 296 REDES DE ÁREA LOCAL RA-MA básicas de configuración. Estas últimas deben consultarse desde la utilidad del panel de control o desde los archivos correspondientes. Si la distribución de Linux no incluye la utilidad linuxconf, ésta puede ser descargada gratuitamente desde Internet e instalada como varios paquetes rpm. Figura 7.18. Ventana principal del panel de control de Linux Red-Hat en la versión 7.0 o posterior. Si se compara con la versión anterior, en ésta se ofrecen más utilidades de administración del sistema, que no hace necesario el uso de linuxconf. Figura 7.19. Ventana principal de la utilidad linuxconf de Linux Red-Hat. Este programa permite configurar parámetros generales del sistema y gestionar cuentas de usuarios y grupos. RA-MA CAPÍTULO 7: LOS SISTEMAS OPERATIVOS DE RED 297 Para los sistemas Linux en la distribución de SuSE se utiliza la herramienta YaST (para entorno en modo texto) y su versión actualizada YaST2 (que funciona sobre entorno gráfico). Ambas deben ejecutarse como usuario root, y son accesibles desde el menú de configuración del entorno gráfico o ejecutando los comandos yast y yast2 desde el terminal. Las figuras 7.20 y 7.21 muestran las respectivas ventanas principales de YaST y YaST2. Figura 7.20. Ventana principal de la utilidad YaST2 de SuSE Linux. Aunque la configuración de los parámetros del sistema se suele basar internamente en otras utilidades, desde este programa es posible gestionar la mayoría de tareas administrativas de una forma muy sencilla. Las herramientas YaST y YaST2 conforman un entorno centralizado de administración del sistema. Desde cualquiera de éstos se pueden configurar sus parámetros en cuanto a dispositivos, red, seguridad, usuarios y grupos, paquetes instalados, etc. Gracias a ellas, el usuario puede acceder de una forma más sencilla a todos los parámetros de configuración del sistema, sin necesidad de tener que editar una enorme cantidad de archivos de texto distintos como ocurría en las antiguas versiones del sistema. Además de estas herramientas, en las distribuciones de Linux se incluyen otras muchas que agilizan las tareas de administración del sistema, aunque su utilidad se reduce a parámetros específicos de él. Otros desarrolladores de software han implementado incluso otras versiones distintas de aplicaciones para la gestión de un sistema Linux. Entre las más interesantes, podemos destacar la utilidad Webmin, que se muestra como una página web en la que se puede configurar la mayoría de parámetros del sistema. 298 REDES DE ÁREA LOCAL RA-MA Figura 7.21. Ventana principal de la utilidad YaST de SuSE Linux. Esta utilidad ofrece las mismas opciones que YaST2, pero funciona en modo texto y puede ser iniciada desde la línea de comandos de la interfaz de texto. 7.5. EJERCICIOS 7.1. ¿Qué diferencias existen entre seleccionar un Inicio de sesión en Windows y un Cliente para redes Microsoft en las propiedades de red del equipo? 7.2. Se trata de crear un conjunto de usuarios desde una nueva unidad organizativa llamada Prueba en el directorio activo de Windows 2000. Todos esos usuarios deberán pertenecer, a su vez, a un grupo llamado Práctica que estará situado en una unidad organizativa distinta. 7.3. Se trata de crear los usuarios usr0 y usr1 a través de cualquiera de las herramientas de administración de Linux (linuxconf o YaST). Estos usuarios deberán pertenecer al grupo users. ¿Es posible que un usuario pueda pertenecer a más de un grupo? 7.4. Dada la siguiente estructura del directorio activo de Windows 2000, indica los nombres comunes de todos los objetos que aparecen. RA-MA CAPÍTULO 7: LOS SISTEMAS OPERATIVOS DE RED 299 7.6. BIBLIOGRAFÍA Libros en castellano: [APR01] Aprenda Windows 2000 Server José Luis Raya y Elena Raya Ra-Ma, 2001 [RED01] Redes Locales José Luis Raya y Cristina Raya Ra-Ma, 2001 [REH01] Manuales de la distribución Linux Red Hat 7.1 Varios autores Red Hat Inc., 2001 [SUS01] Manuales de la distribución SuSE Linux 7.3 Varios autores SuSE GmbH, 2001, 2.ª ed. [W9899] Windows 98 Jaime de Yraolagoitia Paraninfo, 1999, 3.ª ed. [WNT97] Windows NT Server 4. Instalación, configuración y administración José Luis Raya y Elena Raya Ra-Ma, 1997 300 REDES DE ÁREA LOCAL [WNT98] Windows NT Server 4.0, manual avanzado Manuel Beato Víbora y Jorge Franco Rey Anaya, 1998 [W2K00] Windows 2000 Server: Instalación, configuración y administración José Luis Raya y Elena Raya Ra-Ma, 2000 RA-MA Otra documentación electrónica: [MSW00] Documentación Windows 2000 en CD-ROM (Inglés) Microsoft Official Curriculum: Implementing and Administering Microsoft Windows 2000 Directory Services (Course 2154a) Microsoft corp., 2000 Páginas de Internet: [CYBENET] Apuntes y trabajos de temas de informática en general Varios autores http://www.cybercursos.net/ CAPÍTULO 8 SISTEMAS DE ARCHIVOS EN RED Este capítulo está dedicado a revisar los conceptos de administración de sistemas de archivos en red. Toda la parte de asignación de derechos se ha pospuesto para el capítulo 9, donde se incluye un modelo completo de administración de seguridad. El concepto de sistema de archivos en red resulta muy complejo, debido principalmente a la gran cantidad de métodos de almacenamiento de disco distintos que existen, la mayoría de ellos registrados por empresas propietarias. Siguiendo con la línea marcada en el capítulo 7, se incluirá una referencia a la administración de sistemas de archivos en redes Microsoft y Linux. Figura 8.0. Estructura interna de un disco duro RA-MA 302 REDES DE ÁREA LOCAL 8.1. INTRODUCCIÓN Una de las funciones más importantes de una red local es la compartición de la información entre los servidores y estaciones de trabajo que la componen. Esta información puede ser de cualquier tipo, aunque lo normal es que se encuentre almacenada en discos duros y otras unidades de almacenamiento formando sistemas de archivos. 8.1.1. Conceptos básicos Un sistema de archivos (o ficheros) es un conjunto de normas y operaciones que establecen cómo se organiza la información dentro de un dispositivo de almacenamiento masivo. El sistema de archivos determina la estructura general del disco, establece la unidad mínima de información y controla el espacio disponible, entre sus funciones más importantes. No es objetivo de este libro incluir una especificación exhaustiva de todos los sistemas de archivos existentes en la actualidad, aunque se ha incluido una tabla que resume los más importantes. Tabla 8.1. Algunos de los sistemas de archivos más conocidos Nombre FAT32 Soporte Discos duros Disquetes Discos duros Disquetes Discos duros PSF NTFS Extensión 2 Extensión 3 Discos duros Discos duros Discos duros Disquetes FAT VFAT Sistema operativo DOS Windows 3.x Windows 9x/ME Windows 95, segunda ed. Windows 98/ME Windows NT/2000 Prof. OS/2 Windows NT/2000/XP Linux La administración de los sistemas de archivos en red y la compartición de información se complica con respecto a equipos aislados debido a varias cuestiones que aparecen: ⌦ La existencia de diferentes estándares de sistemas de archivos, por lo que son necesarios métodos de conversión entre ellos. ⌦ La presencia de usuarios registrados en la red requiere de un mecanismo global de concesión de permisos y administración de la seguridad de la información. ⌦ El acceso concurrente requiere de mecanismos que regulen esas situaciones; por ejemplo, cuando dos usuarios acceden al mismo archivo para leer o escribir. RA-MA CAPÍTULO 8: SISTEMAS DE ARCHIVOS EN RED 303 Los elementos más importantes que están en estrecha relación con un sistema de archivos son los siguientes: Unidad de almacenamiento: Es el dispositivo físico de almacenamiento de información. Puede ser un disco duro, un disco flexible (disquete), un disco compacto, una cinta magnética, etc. Puede contener más de un sistema de archivos. Partición o volumen: Es la unidad que forma un sistema de archivos. Está formado por un índice que se utiliza para organizar la información y que depende del tipo de sistema de archivos utilizado (lista de i-nodos, tabla FAT, etc.). Algunos sistemas de archivos utilizan las letras del alfabeto para nombrar particiones, que también se las conoce como letras de unidad. En otros sistemas como Linux, las particiones son accesibles directamente en el sistema de archivos sin ser asignadas a letras de unidad. Fichero o archivo: Es la unidad más pequeña de almacenamiento de información en un sistema de archivos. Se trata de un elemento lógico que contiene datos de un mismo tipo (caracteres de texto, puntos de una imagen, instrucciones de programa, etc.). Algunos sistemas de archivos utilizan una parte del nombre de él como identificador de tipo (llamado extensión). Carpeta o directorio57: Es un elemento que se utiliza dentro del sistema de archivos para organizar la información de forma lógica, constituyendo una jerarquía. Una carpeta puede contener, a su vez, otras carpetas o archivos y una carpeta o archivo debe estar contenida en otra carpeta llamada padre (excepto la carpeta de nivel más alto o raíz). 8.1.2. Sistemas de archivos tolerantes a fallos Existen unos mecanismos de almacenamiento que impiden la pérdida de la información que guardan en caso de un fallo del sistema o de la alimentación de corriente. Éstos se conocen como sistemas de archivos tolerantes a fallos. Un sistema de archivos consigue mayor tolerancia a fallos mediante el uso de códigos detectores y correctores de error sobre la información almacenada (véase el capítulo 4, apartado 4.4). También se consigue realizando varias réplicas de los datos en diferentes medios de almacenamiento (discos, particiones, etc.). No hay que confundir el término directorio, relacionado con el sistema de ficheros (que para distinguir llamaremos carpeta), con el de directorio activo, concepto relacionado con la administración de la seguridad de una red Windows, ni con el de servicio de directorio, que tiene que ver con los permisos en una red Novell. 57 304 REDES DE ÁREA LOCAL RA-MA La gran mayoría de los sistemas de archivos tolerantes a fallos utilizan las técnicas RAID (Redundant Array of Inexpensive Disks o Conjunto Redundante de Discos Económicos). Según las normas definidas en RAID, se pueden tener distintas configuraciones en cuanto al nivel de seguridad que se desea soportar, por lo que es posible decidir qué grado de tolerancia va a disponer el sistema. La tecnología RAID utiliza dispositivos de disco SCSI (por cuestiones de eficiencia y cantidad de dispositivos conectados) y define varias técnicas de tolerancia a fallos: Espejo: Consiste en duplicar la información entre varios discos. Banda: Divide la información (en bits, bytes o bloques) para que sea almacenada en distintos discos. Paridad: Establece un mecanismo de codificación de los datos para detectar y corregir errores. Duplicación de controladora: Es posible utilizar más de una tarjeta controladora SCSI para conectar los discos, de forma que así también se pueden evitar fallos en estos adaptadores. Las configuraciones definidas en RAID son las siguientes: RAID 0: Establece que la información se dividirá entre todos los discos del sistema, de forma que no se establece ningún tipo de redundancia. Sin embargo, este método consigue obtener el máximo de capacidad de almacenamiento (ya que el total es igual a la suma de las capacidades de todos los discos instalados). Además, permite obtener un tiempo de acceso muy rápido, ya que todos los discos funcionan al mismo tiempo. RAID 1: Especifica que los discos instalados se asociarán por parejas, y cada una de ellas almacenará la misma información. Cada pareja está formada por un disco primario, donde se leen y se escriben los datos y un disco espejo, donde solamente se escriben las modificaciones y del que se leerán datos cuando el primario falle. En caso de cambio por avería de un disco primario o espejo, el sistema deberá restaurar en él toda la información. Se pueden duplicar las tarjetas controladoras de forma que en una de ellas se conecten los discos primarios y en la otra, los espejos. RAID 2: Consiste en almacenar la información dividida a nivel de bit entre varios discos, además de guardar también los códigos de control de errores en otros discos. En caso de que alguno de los discos falle, se puede restaurar la información que se encuentra almacenada en los otros discos mediante algún código de detección y corrección de errores (como el Hamming, por ejemplo). RA-MA CAPÍTULO 8: SISTEMAS DE ARCHIVOS EN RED 305 RAID 3: Al igual que RAID 0 y RAID 2, almacena la información entre varios discos (dividida a nivel de byte), pero en este caso se deja uno de ellos para almacenar los dígitos de paridad generados. La información de paridad se utiliza para comprobar la consistencia de los datos almacenados. RAID 4: Es igual que RAID 3, salvo que la información se divide en bloques o sectores para ser repartida en los discos. RAID 5: Es igual que RAID 4, salvo que la información de paridad está incluida junto con los propios datos. Sin embargo, el bloque de información no está almacenado en el mismo disco que su correspondiente bloque de paridad. Este método permite lectura y escritura de datos y paridad solapadas (se accede a discos distintos al mismo tiempo). RAID 6: Es igual que RAID 5, con la diferencia de que se guardan dos paridades para cada bloque de información, cada una de ellas alojada en un disco diferente (también diferente al de los datos). RAID 7: Es igual que RAID 4, aunque utiliza un sistema operativo en tiempo real, que es el que gestiona los accesos a los discos. RAID 10: Es igual que RAID 1, salvo que se incluyen otros discos donde se almacena otra copia completa de la información. Se utiliza para conseguir un mayor tiempo de acceso. RAID 53: Es igual que RAID 3, salvo que se incluyen otros discos donde se almacena otra copia completa de la información. Se utiliza para conseguir un mayor tiempo de acceso. RAID 0+1: Es una combinación de las técnicas RAID 0 y RAID 1, de forma que la información se duplica en conjuntos de discos, los cuales almacenan los datos distribuidos en ellos. 8.2. SISTEMA DE ARCHIVOS EN REDES MICROSOFT El primer sistema de archivos en el que vamos a profundizar es el utilizado por Microsoft en sus sistemas Windows, ya que otras redes (sobre todo Novell) se basan en este modelo con el propósito de dar servicio a estaciones de este tipo. Como se vio en el apartado anterior (tabla 8.1), Microsoft ha definido dos variantes fundamentales para sus sistemas de archivos: FAT y NTFS. El sistema de archivos FAT (File Allocation Table o Tabla de Asignación de Ficheros) se utiliza en Windows 3.x/9x/ME como un método de almacenamiento de información sencillo que carece de administración de seguridad y permisos. A partir de la versión FAT original se han desarrollado VFAT (Virtual FAT), para permitir nombres largos de archivos, y FAT32, para soportar particiones de gran tamaño con un menor desperdicio del espacio. RA-MA 306 REDES DE ÁREA LOCAL El sistema de archivos NTFS (NT File System o Sistema de Ficheros de NT) apareció como soporte al sistema operativo Windows NT. Como características más relevantes, se debe destacar que ofrece mayor estabilidad, soporta discos duros de gran tamaño y permite administrar permisos en el acceso de los usuarios. Todos los sistemas de archivos mencionados anteriormente tienen en común la forma en que se manipula la información: • Las particiones se nombran mediante letras de unidad seguidas de dos puntos (por ejemplo, A:, C:, etc.). El sistema realiza de forma automática esa asignación de unidades (aunque en Windows NT/2000 se puede modificar por el usuario). • Todo el sistema de archivos cuelga de la carpeta raíz de cada partición, que también se llama “\”. • Los archivos tienen un nombre y una extensión, que especifica de qué tipo es (es decir, qué tipo de información contiene). • El nombre completo de un archivo se especifica mediante su nombre particular y su ruta (como, por ejemplo, C:\WINDOWS\CALC.EXE). • Existe el concepto de carpeta actual, es decir, aquélla en la que el usuario se encuentra actualmente examinando su contenido. Es posible cambiar la carpeta actual mediante el Explorador de Windows o el comando CD de DOS. • El nombre de un archivo también puede especificarse en base a la carpeta actual. Por ejemplo, el archivo C:CALC.EXE se encuentra en la carpeta actual de la unidad C:. Los atributos asignados para archivos y carpetas en los sistemas de archivos FAT32 y NTFS son ligeramente distintos, y se explican de forma resumida en las tablas 8.2 y 8.3. Hay que tener en cuenta que los atributos usados en el sistema FAT 32 son iguales que en FAT y VFAT. Tabla 8.2. Atributos para archivos y carpetas en FAT32 Atributo Nombre A Modificado H R S Oculto Sólo lectura Sistema Descripción Indica que el archivo o carpeta ha sido modificado. Se utiliza por los programas de copia de seguridad. El archivo o carpeta no aparece en los listados. El archivo o carpeta no se puede modificar ni borrar. El archivo es para uso por el sistema (no se usa para carpetas). Este atributo también implica H y R. RA-MA CAPÍTULO 8: SISTEMAS DE ARCHIVOS EN RED 307 Tabla 8.3. Atributos para archivos y carpetas en NTFS Atributo Nombre A Listo para archivar históricamente Descripción Esta opción se utiliza por los programas de copia de seguridad. Es equivalente al atributo “Modificado” de FAT. El archivo o carpeta no aparece en los listados. El contenido del archivo o carpeta no se puede modificar. El archivo es para uso por el sistema. Se utiliza para indexar el archivo o carpeta y permitir búsquedas más rápidas. H Oculto R Sólo lectura S Sistema Permitir al servicio de Index Server indexar este archivo o carpeta para acelerar la búsqueda Comprimir contenido para Se utiliza para que el sistema comprima ahorrar espacio en disco y descomprima el archivo o carpeta de forma automática y así ahorrar espacio en disco. Hay que tener en cuenta que los accesos son más lentos. Cifrar contenido para Se utiliza para encriptar el contenido proteger datos del archivo o carpeta. Para acceder a éste, hay que suministrar una contraseña. Figura 8.1. Acceso a sistemas de archivos remotos. Desde el explorador son visibles las carpetas y archivos de un equipo a los que se tienen derechos de acceso. Como mínimo, el usuario que desea acceder debe tener derecho de lectura sobre las carpetas remotas. Hay que tener en cuenta que éstas aparecen colgando directamente de la raíz en el equipo aunque en realidad se pueden encontrar dentro de otras carpetas de éste. 308 REDES DE ÁREA LOCAL RA-MA El acceso a carpetas y archivos de otros equipos de la red se realiza a través del icono “Entorno de Red” o “Mis sitios de Red” que aparece en el escritorio o en el Explorador de Windows. Hay que seleccionar, en primer lugar, la estación remota y aparecerán los archivos y carpetas a los que se tienen derecho de acceso. La figura 8.1 muestra el acceso a un sistema de archivos remoto. Como se puede observar en las figuras, los nombres de las carpetas y archivos compartidos siguen el convenio \\equipo\carpeta\archivo.ext. Esta notación se llama UNC (Universal Name Convention o Convención de Nombres Universal) y se utiliza también para especificar otros recursos compartidos (como impresoras). Como muestra la figura 8.1 (en el cuadro de texto “Dirección”), el nombre completo de un archivo o carpeta situada en otro equipo se establece especificando el nombre del equipo (precedido de dos barras invertidas) y la ruta completa de él (también separado por una barra invertida). Además de este método se pueden crear unidades “virtuales” para especificar una ruta compartida dentro del disco duro de una estación remota, de forma que la notación es más sencilla. Para ello, basta con acceder al elemento compartido en el equipo remoto, desplegar su menú contextual y seleccionar la opción “Conectar a unidad de red”, como se muestra en la figura 8.2. La figura 8.3 muestra cómo se asigna una letra de unidad a una ruta de otro equipo en la red. A partir de ese momento, el acceso a la carpeta compartida se puede realizar especificando solamente la letra de unidad asignada. Figura 8.2. Menú contextual del icono “Mi PC” en el explorador de Windows. Las opciones “Conectar a unidad de red” y “Desconectar a unidad de red” se utilizan para establecer y liberar asignaciones de letras de unidad a rutas de la red. RA-MA CAPÍTULO 8: SISTEMAS DE ARCHIVOS EN RED 309 Figura 8.3. Ventana de asignación de unidades de red. En esta ventana se establecen las asignaciones especificando la letra de unidad a utilizar (en el cuadro de texto “Unidad”) y la ruta compartida de la red a la que apuntará (en el cuadro de texto “Ruta”). Si se marca la opción “Conectar de nuevo al iniciar la sesión”, entonces el sistema realiza la conexión a la unidad de red de forma automática al arrancar el sistema y autenticar al usuario. Para compartir información en la red Microsoft (estaciones Windows), solamente hay que seleccionar el elemento en cuestión (carpeta o archivo) y acceder a la opción “Compartir” de su menú contextual (pulsando con el botón derecho del ratón). La ventana que aparece se muestra en la figura 8.4: Figura 8.4. Ventana de configuración de archivos y carpetas compartidos en Windows 98. El acceso a estos recursos se puede proteger mediante una contraseña, que se solicita a cada usuario cuando intenta acceder a él. Si se incluye el carácter “$” al final del nombre del recurso que se va a compartir, éste es accesible pero no visible directamente en la ventana de exploración. 310 REDES DE ÁREA LOCAL RA-MA La compartición de archivos en sistemas Windows NT/2000 es muy parecida, pero hay que tener en cuenta que se puede establecer otros tipos de permisos a nivel de usuarios individuales. La figura 8.5 muestra la ventana de compartición de archivos y carpetas en Windows 2000 Server, accesible desde el menú contextual de una carpeta seleccionando la opción “Compartir”. Para más información, puede consultar el capítulo 9 (apartado 9.2) relativo a la administración de permisos de acceso en una red Microsoft. Figura 8.5. Ventana de configuración de archivos y carpetas compartidos en Windows 2000. Además de las opciones básicas que también ofrecen los grupos de trabajo, aquí se puede establecer un máximo de conexiones simultáneas junto con permisos más refinados para usuarios. Para la administración de discos duros, creación y eliminación de particiones, se pueden utilizar las herramientas FDISK (que soporta solamente particiones FAT, VFAT y FAT32) y el administrador de discos (para particiones FAT, VFAT, FAT32 y NTFS) accesible desde el menú “Herramientas administrativas” de Windows NT. En Windows 2000 también existe esta herramienta (que también permite administrar discos remotos), pero hay que seleccionar “Administración de equipos” en la opción “Herramientas administrativas” y pulsar sobre el icono “Administrador de discos” dentro de “Almacenamiento”. En este último sistema es posible realizar asignación estática de unidades de red, de forma que la letra de unidad no cambia cuando se crean nuevas particiones de disco. Así mismo, también es posible crear particiones formadas por varios fragmentos (contiguos o no) de él o de distinto disco duro. RA-MA CAPÍTULO 8: SISTEMAS DE ARCHIVOS EN RED 311 8.2.1. Acceso al sistema de archivos Novell Microsoft Windows 2000 Server ofrece un paquete especial que permite al equipo comportarse como un servidor Novell NetWare. Esta característica hace que las estaciones clientes accedan a los archivos compartidos de Windows 2000 de la misma forma que si se tratasen de archivos compartidos de Novell. El servicio utilizado para conseguir esta característica se llama Servicios Microsoft para NetWare, en concreto, el paquete Servicios de archivos e impresión para NetWare (no se distribuye con los discos de instalación del sistema operativo). Gracias a él, los usuarios no saben que están realmente accediendo a los recursos de un servidor Windows 2000, y creen que se trata de un servidor NetWare. Otro método que puede utilizarse para que las estaciones que acceden a la red Microsoft puedan conectarse a los archivos de la red Novell es utilizando un equipo Windows 2000 Server como pasarela. Esta característica simplifica la administración de las estaciones, ya que no es necesario instalar en ellas un cliente para redes Novell NetWare ni el protocolo IPX/SPX. El servicio en cuestión se llama Servicio de puerta de enlace para NetWare (tampoco se incluye con los discos de instalación del sistema operativo). 8.2.2. Acceso al sistema de archivos NFS Como se vio en capítulos anteriores, es posible acceder al sistema de archivos de un equipo Linux desde un equipo Windows utilizando el protocolo FTP. Sin embargo, Microsoft Windows NT/2000 incluye también herramientas que permiten el acceso a archivos compartidos de Linux mediante el protocolo NFS (Network File System o Sistema de Archivos de Red). Este protocolo se definió inicialmente para comunicar exclusivamente equipos UNIX/Linux y se explica más a fondo en el apartado 8.3. La instalación del protocolo NFS en Windows NT/2000 se realiza a través del programa Servicios de Microsoft Windows NT para UNIX. Este paquete se distribuye de forma separada al sistema operativo, e incluye las siguientes utilidades para acceso a sistemas NFS: Cliente NFS: Se utiliza para el acceso a una partición compartida NFS de un equipo remoto. Servidor NFS: Hace que el equipo Windows NT/2000 pueda compartir carpetas vía NFS y que así otros equipos remotos puedan acceder a ellas. Servidor para autenticación NFS: Permite utilizar el equipo para autentificar las conexiones por NFS. 312 REDES DE ÁREA LOCAL RA-MA 8.2.3. Soporte a sistemas RAID Microsoft Windows NT/2000 incluye el uso de sistemas RAID en los tipos 0, 1 y 5. Para administrar este tipo de sistemas de archivos, se utiliza la herramienta Administrador de discos (Windows NT) o Administración de equipos, icono “Administración de discos” (Windows 2000), ambas accesibles desde el menú de inicio en la opción “Herramientas administrativas” (véase la figura 8.6). Figura 8.6. Ventana principal del administrador de discos en Windows 2000. Para poder configurar el sistema como un RAID 0, 1 ó 5, hay que convertir primero el disco en un disco dinámico. Esto se consigue pulsando con el botón derecho del ratón sobre el disco correspondiente de la ventana inferior derecha y seleccionando la opción “Actualizar a disco dinámico...”. Windows gestiona dos tipos de discos, dependiendo de la versión del sistema operativo que se utilice: Discos básicos (Windows NT): Permite trabajar con los siguientes tipos de configuraciones: • Conjunto de volúmenes: Está formado por varios fragmentos de distintos discos que pueden encontrarse en distintas particiones. • Conjunto de espejos: Son varias particiones de disco que se configuran para almacenar la misma información. RA-MA CAPÍTULO 8: SISTEMAS DE ARCHIVOS EN RED 313 • Conjunto de bandas: Está formado por varios fragmentos en los que la información se divide en bandas. Puede establecerse con o sin paridad para las bandas (formando un RAID 0 o RAID 5). Discos dinámicos (Windows 2000): Permite crear y trabajar con los siguientes tipos de configuraciones: • Volumen distribuido: Es el equivalente al conjunto de volúmenes de Windows NT. • Volumen reflejado: Es el equivalente al conjunto de espejos de Windows NT. • Volumen seleccionado: Es el equivalente al conjunto de bandas sin paridad de Windows NT. • Volumen RAID 5: Es el equivalente al conjunto de bandas con paridad de Windows NT. 8.3. EL SISTEMA DE ARCHIVOS DE LINUX El sistema de archivos de Linux, llamado ext2fs (Extension 2 File System), y su nueva versión ext3fs, están basados en los sistemas Unix pero con algunas modificaciones. Al igual que su hermano mayor, el sistema de archivos de Linux almacena la información por bloques y guarda una referencia de todos los bloques de un archivo en una estructura conocida como i-nodo. Este método de almacenamiento de la información permite el uso de particiones grandes sin desperdicio de espacio y además soporta el acceso restringido por permisos. Un sistema Linux básico necesita, como mínimo dos particiones: una de tipo ext2fs, donde se guarda todos los archivos del sistema operativo y los programas y datos de los usuarios (que también se pueden almacenar en particiones separadas), y otra de tipo swap, que se utiliza como archivo de intercambio de la memoria virtual del sistema. Para el tamaño de esta última se recomienda 64 Mb como mínimo, aunque, si se desea que el sistema soporte gran cantidad de aplicaciones abiertas a la vez, entonces lo más aconsejable son 256 Mb o algo más. El sistema de archivos de Linux está estructurado de forma jerárquica desde la raíz, al igual que ocurre con el sistema de DOS, Windows o Novell. Sin embargo, se diferencia de éstos en algunas cuestiones: En vez de utilizar la barra invertida para separar las carpetas de un nombre completo de archivo, se usa la barra inclinada “/”. No se utilizan las extensiones en los nombres de archivos, aunque en algunos casos también se pueden poner para saber qué tipo de información contiene. 314 REDES DE ÁREA LOCAL RA-MA El sistema distingue entre mayúsculas y minúsculas, de forma que Documento y documento son nombres de archivos distintos. No existen las letras de unidad, de forma que las particiones de disco duro y otros dispositivos de almacenamiento (disquete, CD-ROM, etc.) deben montarse sobre el sistema de archivos existente. Por ejemplo, nombres completos de archivos o carpetas en Linux pueden ser los siguientes: /usr/share/doc/pakages/reiserfs/README /mnt/cdrom/kernel-source-2.2.14-12.i386.rpm /home/garcia/.bash_profile /etc/fstab Para mostrar los archivos y carpetas de una determinada localización dentro del sistema de archivos, se puede utilizar el comando ls desde la ventana del terminal (que es equivalente a dir de DOS) o también existe un programa tipo explorador accesible desde el menú principal del entorno gráfico. La figura 8.7 muestra la ventana principal de este explorador, utilidad llamada Konqueror, que se incluye con las últimas distribuciones de SuSE y Red Hat. Figura 8.7. Ventana del explorador de archivos y carpetas desde el entorno gráfico de Linux. Esta utilidad no sólo permite explorar todo el sistema de archivos de Linux, sino que también se puede utilizar como explorador de Internet (incluyendo la ruta en la barra de texto superior, precedida por http://) o cliente FTP (incluyendo la ruta precedida por ftp:/). En la parte izquierda de la ventana aparece una sección donde se puede consultar directamente la carpeta personal del usuario, la carpeta raíz del sistema de archivos, etc. RA-MA CAPÍTULO 8: SISTEMAS DE ARCHIVOS EN RED 315 EJEMPLO 8.1 El comando ls muestra el contenido de la carpeta actual. Con el modificador –l se muestra una lista completa en cuanto a derechos, propietarios, tamaño en bloques, fecha y hora de creación, etc. La primera columna muestra el tipo del objeto (“d” para carpetas y “–” para archivos normales) y la última columna muestra su nombre. $ ls Ficha1.sdw notas.swd $ ls –l -rw-r--r--rw-r--r-drwxr-xr-x personal 1 1 2 garcia garcia garcia users users users 16431 Jan 22563 Jan 0 Jan 30 30 30 10:54 10:54 10:54 Ficha1.sdw notas.sdw personal Como se ha mencionado anteriormente, en el sistema de archivos de Linux no existen las letras de unidad. En su lugar, cualquier dispositivo de almacenamiento masivo debe montarse sobre el sistema de archivos para poder ser accedido. La operación de montaje consiste fundamentalmente en indicar cuál va a ser la ruta (carpeta) desde donde resulte accesible esa unidad. En principio no existen restricciones sobre cuál puede ser esa carpeta, aunque normalmente el montaje se realiza sobre la carpeta /mnt. Para montar un dispositivo, se puede utilizar el comando mount, que tiene la siguiente sintaxis: mount –t tipo dispositivo carpeta Donde tipo indica el tipo de sistema de archivos que contiene (FAT, FAT32, ext2fs, etc.), aunque el sistema puede detectarlo automáticamente, dispositivo indica el archivo de controlador que maneja ese dispositivo (/dev/cdrom para unidades CDROM, /dev/fd0 para unidades de disquete, etc.) y carpeta es la ruta donde se va a realizar el montaje. Por ejemplo, la orden siguiente monta el sistema de archivos del CD-ROM (cuyo tipo es ISO9660) sobre la carpeta /mnt/cdrom: $ mount –t iso9660 /dev/cdrom /mnt/cdrom En Linux existe un archivo llamado /etc/fstab que contiene una lista de todos los dispositivos que pueden montarse en el sistema, incluida la partición sobre la que se encuentra el propio sistema. El contenido de este archivo podría ser el siguiente: /dev/hda1 /dev/hda2 /dev/hda3 /dev/fd0 /dev/cdrom /mnt/win / swap /mnt/floppy /mnt/cd vfat ext2 swap auto iso9660 noauto,owner defaults defaults noauto,owner noauto,owner,ro 0 1 1 0 0 0 1 1 0 0 316 REDES DE ÁREA LOCAL RA-MA Las opciones de montaje que aparecen en la cuarta columna se pueden especificar también como opciones del comando mount. Si desea obtener una descripción detallada de ellas, puede consultar el capítulo 10, apartado 10.3. El comando mount sin parámetros muestra los sistemas de ficheros montados actualmente. También puede utilizar el archivo /etc/fstab para montar los sistemas de archivos incluidos en él. Así, no hay que incluir todas las opciones del comando, sino solamente el dispositivo que se desea montar, como, por ejemplo: $ mount /dev/fd0 También se puede usar la utilidad User Mount Tool (usermount) para montar, desmontar o dar formato a las particiones especificadas en /etc/fstab. La figura 8.8 muestra la ventana de la utilidad visible desde el entorno gráfico de Linux. Figura 8.8. Ventana de la utilidad usermount. Ésta lee las entradas del archivo /etc/fstab y las muestra junto con los botones necesarios para montar/desmontar y dar formato a las particiones Si se utiliza el entorno gráfico de Linux (KDE o GNOME), el montaje se realiza de forma automática para las unidades de CD-ROM cuando se inserta el disco o cuando se hace doble clic sobre los iconos asociados a unidades que aparecen en el escritorio. Para el resto de dispositivos, debe utilizarse el comando mount o usermount. Aunque no está estandarizado en otros sistemas Unix, los sistemas de ficheros de Linux (ext2fs y ext3fs) disponen de un conjunto de atributos que se utilizan para dar una mayor funcionalidad y seguridad a la gestión de archivos y carpetas. Para el manejo de atributos se utilizan los comandos chattr (cambio de atributos) y lsattr (visualización de atributos), cuya sintaxis es la siguiente: chattr [-R] [modo] archivos lsattr [-Rad] [archivos] RA-MA CAPÍTULO 8: SISTEMAS DE ARCHIVOS EN RED 317 Las opciones de estos comandos aparecen en la tabla 8.4. Por su parte, los atributos aplicados a archivos y carpetas aparecen expuestos en la tabla 8.5. Tabla 8.4. Opciones básicas de los comandos chattr y lsattr Opción -R -a -d Significado Se desplaza recursivamente por las carpetas. Muestra todos los archivos de la carpeta, incluidos los ocultos (que comienzan por punto). Muestra las carpetas como archivos, en vez de mostrar su contenido. Tabla 8.5. Atributos de archivos y carpetas en ext2fs y ext3fs Atributo A a c d i j S s u Significado No varía la fecha de última modificación del archivo o carpeta (atime). Solamente permite añadir datos al contenido del archivo o carpeta. Sólo root puede modificar este atributo. El archivo o carpeta está comprimido (el núcleo realiza las operaciones de compresión y descompresión de forma transparente). No incluir al archivo o carpeta en las copias de seguridad de la utilidad dump. El archivo o carpeta no se puede modificar, eliminar, renombrar o crear una ligadura simbólica. Sólo root puede modificar este atributo. Este atributo se utiliza en los sistemas ext3fs para indicar si el contenido del archivo o carpeta todavía no ha sido actualizado o se han guardado los cambios a disco. Las modificaciones del archivo o carpeta se escriben de forma síncrona en el disco (en caso de modificaciones concurrentes). Si el archivo o carpeta es eliminado, todos sus bloques de disco se ponen a cero para impedir que pueda ser recuperado posteriormente. Permite recuperar el archivo o carpeta una vez eliminado. 8.3.1. Compartir archivos en una red Linux La forma en la que se comparte el sistema de archivos de una máquina Linux depende de la máquina cliente que desea tener accesible ese recurso. Si se trata de una máquina Windows, puede consultar el apartado siguiente dentro de este mismo punto. RA-MA 318 REDES DE ÁREA LOCAL Si se trata de una máquina también Linux, será necesario utilizar el NFS (Network File System o Sistema de Archivos de Red). Según este sistema, se utiliza el comando mount para montar la carpeta remota a la que se desea acceder, especificando el nombre DNS de la máquina remota. Además, es necesario instalar los módulos /usr/sbin/rpc.nfsd y /usr/sbin/rpc.mountd desde cualquier versión empaquetada como archivo rpm. Cualquier archivo o carpeta que se desee compartir debe especificarse de forma manual dentro del archivo /etc/exports. El ejemplo 8.2 muestra una configuración para compartir archivos entre estaciones Linux. EJEMPLO 8.2 Imaginemos que un usuario desea compartir la carpeta /pub/proy de su máquina local. Lo primero que debe hacer es comprobar si tiene instalados los programas demonio del NFS. Para ello hay que usar el comando rmp como se indica (o utilizar alguna herramienta gráfica de gestión de paquetes como YaST2): $ rpm -qa | grep knfsd Donde el modificador -qa indica que se desea listar todos los paquetes instalados y el comando grep busca la cadena “knfsd” en ese listado. Si el comando anterior no nos devuelve ningún nombre de paquete, habrá que instalarlo con el comando rpm (o utilizando alguna herramienta gráfica de gestión de paquetes) desde un archivo como el siguiente (la versión puede ser distinta): $ rpm -i knfsd-981204-3.i386.rpm A continuación, deberá especificar que desea compartir la carpeta especificándola en una línea del archivo /etc/exports. Este archivo podría contener lo siguiente58: # Ejemplo de /server1(rw) /home/usr1 /pub/proy /home archivo /etc/exports server2(rw,no_root_squash) *.local.domain(ro) *.local.domain(rw) dpto(ro,all_squash) La segunda línea especifica que las máquinas cuyo nombre DNS es server1 y server2 tienen acceso de lectura y escritura (rw) sobre la carpeta raíz (/), aunque en el segundo caso el usuario root tendrá acceso total a la carpeta (no_root_squash). La tercera línea especifica que cualquier máquina cuyo dominio sea de local.domain tiene acceso de sólo lectura (ro) sobre la carpeta /home/usr. Por su parte, la última línea especifica que desde la máquina nombrada dpto se tendrá acceso de sólo lectura (ro) a la carpeta /home como usuario anónimo (all_squash). Recuérdese que los nombres DNS pueden especificarse en una tabla local almacenada en el archivo /etc/hosts, donde existe una correspondencia estática con las direcciones IP. Para ver más información sobre las opciones del archivo /etc/exports, se puede consultar las páginas del manual ejecutando el comando man exports. 58 RA-MA CAPÍTULO 8: SISTEMAS DE ARCHIVOS EN RED 319 Una vez modificado el archivo /etc/exports, es necesario reiniciar los procesos rpc.nfsd y rpc.mountd, primero eliminándolos con el comando kill y, luego, cargándolos mediante los comandos: $ /usr/sbin/rpc.nfsd $ /usr/sbin/rpc.mountd Finalmente, para que un usuario pueda acceder a la carpeta /pub/proy (desde cualquier máquina del dominio local.domain), deberá montarlo con el comando: $ mount -t nfs servidor:/pub/proy /mnt/nfs Éste indica que se desea montar la carpeta /pub/proy de la máquina que tiene el nombre DNS servidor sobre la carpeta local /mnt/nfs y que el sistema de archivos utilizado es NFS. Si el montaje de la carpeta remota se realiza habitualmente, es posible incluir una entrada en el archivo /etc/fstab para permitir el montaje automático al arrancar el sistema o simplemente para acortar las opciones del comando mount. Esta entrada podría ser la siguiente: servidor:/pub/proy /mnt/nfs nfs exec,dev,rw 1 1 Cuando se haya creado una entrada como la anterior, ya no será necesario indicar todas las opciones del comando mount, sino que bastará con escribir lo siguiente (o entrar en la utilidad usermount del entorno gráfico): $ mount servidor:/pub/proy 8.3.2. Compartir archivos en una red Microsoft Sin embargo, si deseamos acceder a una máquina Linux desde una estación que tiene instalado un Windows o al revés, podemos hacerlo de tres formas posibles: Utilizando el programa de emulador de terminal (Telnet) para poder ejecutar los comandos en el servidor y accediendo como usuario registrado. Esta opción no permite enviar o recibir archivos desde o hacia la máquina local. Utilizando el programa de transferencia de archivos FTP y accediendo a la máquina remota como usuario registrado. Utilizando el programa Samba para compartir archivos. Este programa permite que Linux se comporte como un servidor de archivos e impresoras para clientes Windows, utilizando los protocolos NetBIOS y SMB de la red Microsoft para comunicarse. RA-MA 320 REDES DE ÁREA LOCAL EJEMPLO 8.3 La utilidad Samba permite que un equipo Linux se comporte como un servidor de archivos. Así mismo, la utilidad Samba client permite que un equipo Linux pueda acceder a los recursos compartidos de una red Microsoft. Si deseamos utilizar Samba en un servidor Linux para compartir archivos e impresoras, en primer lugar debemos comprobar si ese programa está instalado, mediante el comando rpm (u otra utilidad de entorno gráfico): $ rpm -qa | grep samba Si ese comando no nos devuelve ningún paquete, deberemos instalarlo como se indica (la versión del archivo samba puede ser distinta): $ rpm -i samba-2.0.3-8.i386.rpm Además de esto, es necesario buscar el archivo /etc/services para que incluya las siguientes líneas (que normalmente ya se incluyen por defecto en los archivos instalados): netbios-ns netbios-ns netbios-dgm netbios-dgm netbios-ssn netbios-ssn 137/tcp 137/udp 137/tcp 137/udp 137/tcp 137/udp #Servicio de nombres NetBIOS #Servicio de datagramas NetBIOS #Servicio de sesión NetBIOS Linux inicia automáticamente el servidor Samba al arrancar el sistema, aunque también se puede iniciar y parar manualmente mediante los siguientes comandos59: $ /etc/rd.d/init.d/rcsmb start $ /etc/rd.d/init.d/rcsmb stop Una vez hecho esto, en el sistema se instalan varios archivos, el más importante de ellos es /etc/samba/smb.conf (también puede encontrarse en /etc) para la configuración de Samba. Un ejemplo de este archivo, con los comentarios para su aclaración, puede ser el siguiente: ; Ejemplo de archivo /etc/smb.conf ; Este archivo esta dividido en varias secciones ; que se detallan a continuación. ; parámetros globales: [global] guest account=nobody ;no hay usuario invitado 59 En versiones anteriores de Linux se utilizaban los comandos smb start y smb stop. RA-MA CAPÍTULO 8: SISTEMAS DE ARCHIVOS EN RED 321 load printers=yes lock directory=/var/lock/samba printing=bsd printcap names=/etc/printcap security=user ;nivel de seguridad de samba share modes=yes workgroup=migrupo ;grupo de trabajo o dominio ; para compartir todas las impresoras: [printers] comment=todas las impresoras browseable=no ;solo para usuarios autorizados create mode=0700 ;permisos utilizados para los ;archivos creados en el spool path=/var/spool/samba ;carpeta de spool printable=yes public=no writable=no ; para establecer una carpeta de acceso publico ; llamada "publico": [publico] path=/home/public public=yes ;acceso público browseable=yes ;será visible en el entorno de red printable=no ;no es una impresora (por defecto) read only=yes ;acceso de solo lectura ; para establecer una carpeta de acceso privado ; llamada "documentos" (acceso a determinados ; usuarios): [documentos] create mask=0765 ;para creación de carpetas create mode=0750 ;para creación de archivos path=/public/docs public=no printable=no ;valor por defecto valid users= juan oscar paco ;usuarios con acceso read only=no ;acceso de escritura Para las carpetas compartidas que no sean públicas (public=no), el sistema Linux autentifica a los usuarios a través de una contraseña de tres formas distintas: security=share: Cada elemento compartido tiene una contraseña, de forma que cualquier usuario conectado desde cualquier equipo puede acceder al recurso con sólo poner la contraseña. RA-MA 322 REDES DE ÁREA LOCAL security=user: El servidor de Samba debe tener una lista con los usuarios que tienen derecho de acceso al recurso. El nombre de usuario se especifica con el nombre del equipo Windows, y este mismo debe aparecer registrado con el mismo nombre en Linux (con el comando useradd o las herramientas linuxconf o YaST) y en Samba (con el comando smbpasswd). security=server: Hay otro equipo que se encarga de autenticar a los usuarios. EJEMPLO 8.4 Supongamos que ahora queremos acceder a recursos compartidos de la red Microsoft desde una estación Linux. Para ello, podemos utilizar los programas smbclient y smbprint, instalados junto con el paquete de Samba-client. Para acceder a una carpeta compartida, debemos ejecutar el comando siguiente: $ smbclient //servidor/carpeta contraseña Este comando es el más simplificado, aunque también se pueden incluir varias opciones: -U usuario, que especifica el nombre de usuario con el que se va a conectar al recurso; -W grupo, que especifica el grupo de trabajo (hay que indicarlo en caso de producirse problemas al intentar conectar con el recurso) y -N, que suprime la petición de contraseña cuando ésta está vacía (es equivalente a poner dobles comillas como contraseña). Una vez ejecutado ese comando, la carpeta está disponible para su acceso. Para realizar operaciones sobre éste, se utiliza una interfaz muy parecida al comando FTP, por lo que también se utilizan las mismas instrucciones (véase la tabla 8.6 donde aparecen explicados estos comandos). Para poder imprimir sobre una impresora compartida, debemos seguir varios pasos. En primer lugar, es necesario crear una nueva entrada para la impresora en el archivo /etc/printcap como la siguiente: queuename:\ :sd=/var/spool/samba:\ ;carpeta del spool :af=/var/spool/samba/account:ingfile:\;cuentas :if=/usr/bin/smbprint:\ ;filtro de entrada :lp=/dev/null: ;impresora no local Seguidamente, debemos crear un archivo de configuración llamado .config en la misma carpeta donde se encuentre el archivo de cuentas, que contendrá lo siguiente: server=servidor service=impresora password=''contraseña'' ;nombre del servidor que tiene ;la impresora ;nombre de la impresora RA-MA CAPÍTULO 8: SISTEMAS DE ARCHIVOS EN RED 323 Una vez completadas todas estas operaciones, podemos imprimir mediante el comando lpr de Linux, como el siguiente: $ lpr -P nombre_cola nombre_archivo Tabla 8.6. Comandos para el manejo de archivos y carpetas del programa smbclient Comando ! [programa] cd [carpeta] del patrón dir patrón exit get ar_r ar_l help [comando] lcd [carpeta] lowercase mask patrón md carpeta mget patrón mput patrón print archivo printmode modo prompt put ar_l ar_r rd carpeta recurse rm patrón setmode atrib queue Descripción Ejecuta un shell o un programa del sistema operativo. Muestra la carpeta actual en el equipo remoto o la cambia a la especificada. Elimina los archivos del equipo remoto que coinciden con el patrón especificado. Muestra los archivos de la carpeta actual del equipo remoto que coinciden con el patrón especificado. Es equivalente a ls. Finaliza la conexión con el recurso. Es equivalente a quit. Obtiene el archivo ar_r del equipo remoto y lo guarda en el equipo local con el nombre ar_l. Muestra información sobre todos los comandos o el comando especificado. Puede utilizarse también ?. Muestra la carpeta actual en el equipo local o la cambia a la especificada. Establece la conversión a minúsculas de los nombres de los archivos obtenidos con los comandos get y mget. Los archivos que se copiarán en una operación recursiva serán aquéllos que coincidan con el patrón especificado. Crea una nueva carpeta que cuelga de la actual en el equipo remoto. Es equivalente al comando mkdir. Copia todos los archivos que coindicen con el patrón especificado desde el equipo remoto al local. Copia todos los archivos que coindicen con el patrón especificado desde el equipo local al remoto. Imprime el archivo en la impresora del equipo remoto. Establece el modo de impresión: graphics para imprimir archivos gráficos y text para archivos de texto. Establece la confirmación en las operaciones de copia. Copia el archivo ar_l del equipo local en el equipo remoto con el nombre ar_r. Elimina la carpeta especificada en el equipo remoto. Es equivalente a rmdir. Establece la recursión en las operaciones de copia. Elimina todos los archivos que coinciden con el patrón especificado en la carpeta actual. Establece los atributos de los archivos copiados. Muestra el estado de la cola de la impresora remota. 324 REDES DE ÁREA LOCAL RA-MA EJEMPLO 8.5 Los programas smbclient y smbprint ofrecen una funcionalidad restringida para el manejo de recursos compartidos del protocolo SMB. Sin embargo, existe un paquete alternativo en Linux llamado smbfs (y ya instalado junto con Samba) que permite montar sistemas de archivos compartidos en la red. Para montar un archivo remoto compartido, usamos el comando siguiente: $ smbmount //servidor/carpeta /mnt/carpeta Donde /mnt/carpeta especifica el punto de montaje local. Se pueden utilizar varias opciones adicionales para el comando smbmount: -n para suprimir la petición de contraseña (en caso de que sea vacía), -U usuario para especificar el nombre de usuario, -P contraseña para especificar la contraseña y -D dominio para especificar el nombre del dominio. Una vez completada la operación, el recurso compartido es accesible para el usuario como si fuera una carpeta local que cuelga del punto de montaje especificado. El comando smbmount es equivalente al comando mount genérico cuando se especifica en sistema de ficheros smbfs (usando el modificador -t). Esto quiere decir que el comando anterior puede escribirse también de la siguiente forma: $ mount -t smbfs //servidor/carpeta /mnt/carpeta 8.3.3. Compartir archivos en una red Novell Un equipo Linux también es capaz de trabajar como servidor o cliente en una red Novell. Sin embargo, para que esto sea posible, el núcleo de Linux debe estar compilado con soporte para el protocolo IPX. Además, es necesario activar la tarjeta de red del equipo Linux para que pueda utilizar este protocolo. Para ello, hay que introducir los siguientes comandos (trabajando como root): $ ipx_configure --auto_interface=on --auto_primary=on $ ipx_interface add -p dispositivo 802.3 El parámetro dispositivo especifica el nombre del adaptador de red (normalmente es eth0). Si el adaptador ya estaba configurado convenientemente, se indicará en los mensajes que se muestren después de ejecutar los comandos anteriores (no habrá ningún problema por volverlos a introducir). RA-MA CAPÍTULO 8: SISTEMAS DE ARCHIVOS EN RED 325 Los paquetes que debemos instalar para dar soporte a Novell en Linux son: ncpfs: Paquete que contiene todas las utilidades y comandos necesarios para que el equipo Linux se comporte como un cliente y acceda a un servidor Novell. marsnwe: Paquete que convierte al servidor Linux en un servidor de archivos Novell. En caso de que deseemos utilizar el paquete ncpfs, disponemos de varios comandos para el acceso a los archivos de los servidores NetWare (todos ellos aparecen en la tabla 8.7). Tabla 8.7. Comandos del paquete ncpfs para manejo de archivos Comando ncopy ncpmount ncpumount nwdir nwpurge nwsfind nwvolinfo slist Utilidad Copia archivos dentro del servidor Novell. Monta un volumen de un servidor Novell en Linux. Desmonta un volumen. Muestra los archivos de una carpeta del servidor. Elimina definitivamente archivos borrados. Busca un servidor Novell. Muestra información de un volumen Novell. Muestra una lista de los servidores Novell activos en la red. Los más importantes del paquete ncpfs son ncpmount (para montar un volumen de un servidor) y ncpumount (para desmontarlo) que, básicamente, tienen la siguiente sintaxis: $ ncpmount [-S servidor] [-V volumen] [-b] punto_montaje $ ncpumount punto_montaje Donde servidor especifica el nombre del servidor NetWare, volumen el volumen de éste que se desea montar y la opción -b indica que se va a montar un volumen de un servidor Novell 4.x o superior. Finalmente, punto_montaje especifica la ruta donde se va a montar el sistema de ficheros en nuestro equipo Linux (esa ruta debe existir). Al ejecutar este comando, el sistema solicita un nombre de usuario y contraseña para realizar la conexión con el servidor. Sin embargo, se pueden incluir éstos con los parámetros -U y -P del comando ncpmount. Para más información sobre los paquetes de conectividad de Novell, puede consultar la documentación incluida en ellos y las páginas del manual (man) de los comandos asociados. Por su parte, el paquete marsnwe es una utilidad que permite a un equipo Linux funcionar como servidor NetWare 2.x o 3.x. Las funcionalidades disponibles son acceso a archivos y carpetas, gestión de impresoras compartidas y encamina- 326 REDES DE ÁREA LOCAL RA-MA miento IPX. Sin embargo, actualmente todavía no soporta la gestión de un árbol NDS y sus objetos. Para más información sobre el uso de este paquete, puede consultar la ayuda incluida en él y las páginas del manual. 8.4. EJERCICIOS 8.1. Indica todos los pasos que debes seguir para permitir que una carpeta de tu disco duro local sea accesible desde la red en modo lectura/escritura introduciendo una contraseña. Realiza esos pasos en Windows 98 y Windows 2000. 8.2. Especifica todos los pasos que hay que seguir en tu equipo Windows 2000 para configurar tus discos duros como un sistema RAID 5. ¿Cuántas particiones deben definirse? ¿Qué cantidad de espacio de disco dispones en comparación con el total instalado? 8.3. ¿Se mantiene una asignación de unidad realizada desde el explorador de Windows cuando se apaga y se vuelve a encender la estación? En caso negativo, ¿cómo puede conseguirse? 8.4. Indica los pasos que debes realizar para permitir que otros sistemas Linux puedan montar una carpeta de tu disco duro local mediante el sistema de ficheros nfs, suponiendo que trabajas en un entorno SuSE 7.3. 8.5. Supón que un usuario tiene compartida una carpeta de su equipo Windows 98 Morales con el nombre Datos y es necesario introducir la contraseña adelita para disponer de acceso de lectura a ella. Indica cuál es la orden que debes ejecutar en Linux para poder montar ese recurso en la carpeta /mnt/samba/datos. 8.6. Indica todos los pasos que debes realizar para configurar tu equipo Linux de forma que los usuarios Windows de la red puedan acceder a tu carpeta /home, a través del servicio Samba. 8.7. Indica cuál es el comando que tienes que ejecutar en Linux para montar la carpeta Public del volumen SYS del servidor Novell de la red. Ese montaje lo debes realizar en la carpeta /mnt/novell/public. 8.5. BIBLIOGRAFÍA Libros en castellano: [APR01] Aprenda Windows 2000 Server José Luis Raya y Elena Raya Ra-Ma, 2001 RA-MA CAPÍTULO 8: SISTEMAS DE ARCHIVOS EN RED 327 [RED01] Redes Locales José Luis Raya y Cristina Raya Ra-Ma, 2001 [REH01] Manuales de la distribución Linux Red Hat 7.1 Varios autores Red Hat Inc., 2001 [SUS01] Manuales de la distribución SuSE Linux 7.3 Varios autores SuSE GmbH, 2001, 2.ª ed. [W9899] Windows 98 Jaime de Yraolagoitia Paraninfo, 1999, 3.ª ed. [WNT97] Windows NT Server 4. Instalación, configuración y administración José Luis Raya y Elena Raya Ra-Ma, 1997 [WNT98] Windows NT Server 4.0, manual avanzado Manuel Beato Víbora y Jorge Franco Rey Anaya, 1998 [W2K00] Windows 2000 Server: Instalación, configuración y administración José Luis Raya, Elena Raya Ra-Ma, 2000 Otra documentación electrónica: [MSW00] Documentación Windows 2000 en CD-ROM (Inglés) Microsoft Official Curriculum: Implementing and Administering Microsoft Windows 2000 Directory Services (Course 2154a) Microsoft corp., 2000 Páginas de Internet: [CYBENET] Apuntes y trabajos de temas de informática en general Varios autores http://www.cybercursos.net/ CAPÍTULO 9 EL SERVICIO DE DIRECTORIO En este capítulo se expone una revisión más a fondo de los conceptos de administración de seguridad en redes Microsoft y redes Linux. La administración de permisos es una tarea fundamental para un sistema operativo de red. Normalmente, esta característica está implementada también por el nivel de aplicación de la arquitectura. Aunque la idea básica de administración de permisos para los sistemas operativos NetWare, Windows y Linux se basa en mayor o menor medida en el modelo de servicio de directorio, cada uno de ellos posee sus propias particularidades que en la práctica se convierten en diferencias muy notables. Figura 9.0. Dibujo de un adaptador Ethernet de tipo PCMCIA 330 REDES DE ÁREA LOCAL RA-MA 9.1. INTRODUCCIÓN Como se vio en el capítulo 7, un servicio de directorio es una gran base de datos que contiene información relativa a la administración de permisos de acceso a los recursos compartidos de la red. Esta base de datos puede estar centralizada en un solo servidor, particionada en varios servidores, replicada (copiada) en otras máquinas para impedir su pérdida accidental o distribuida por todos los equipos de la red (de forma que cada uno de ellos solamente guarde copias parciales). El servicio de directorio de una red local es el elemento más importante que se utiliza para el control de la seguridad. Que exista un servicio de directorio en la red no implica que se vaya a disponer de un buen nivel de seguridad contra accesos no autorizados, sino que dependerá de cómo se administre. Una buena política de administración de esta base de datos (obligando a los usuarios a cambiar sus contraseñas periódicamente, no asignándoles más permisos de los que necesitan para su trabajo, etc.) puede conseguir que se alcance un nivel de seguridad óptimo. Sin embargo, aunque el servicio de directorio es el elemento más importante en lo que se refiere a la seguridad, hay que tener en cuenta que no es el único: también se utilizan cortafuegos, conmutadores configurados como VLAN (véase el apéndice correspondiente que está incluido en el CD-ROM adjunto), etc. El control de la seguridad que lleva a cabo un servicio de directorio puede dividirse en varias categorías: Seguridad de acceso: Consiste básicamente en definir una lista de usuarios autorizados que están obligados a identificarse al acceder a la red mediante un nombre y una contraseña. Seguridad por derechos: Impide que un usuario pueda acceder a determinados recursos (de la estación local, de los servidores o de otras estaciones) a los que no está autorizado y define qué acciones puede llevar a cabo en las áreas donde tiene permisos de acceso. Esta seguridad se aplica al par formado por el usuario y el recurso al que se desea acceder. Los derechos son básicamente de dos tipos: derechos de acceso o uso de un recurso y derechos de administración, que permiten conceder o revocar derechos a los usuarios sobre ese recurso. Seguridad por atributos: Es un complemento a la seguridad por derechos, ya que define permisos a nivel de recursos que se aplican a todos los usuarios de la red. Dependiendo del sistema operativo, este método de administración de seguridad puede estar más o menos limitado. Dentro de la red local, existen diferentes tipos de usuarios, dependiendo de las tareas que tienen encomendado realizar y de los permisos que tienen concedidos para el acceso a los recursos. Básicamente, se pueden definir los siguientes tipos de usuarios: RA-MA CAPÍTULO 9: EL SERVICIO DE DIRECTORIO 331 • Administradores o superusuarios: Son aquéllos que tienen control total sobre todos los recursos de la red, es decir, tienen permiso para realizar cualquier operación. Como se verá en los apartados siguientes, algunos sistemas operativos permiten limitar los derechos de los administradores a determinadas zonas, cuyo acceso completo está permitido a otros usuarios en calidad de subadministradores. Muchos sistemas crean, por defecto, usuarios administradores en la instalación: admin para Novell, administrador para Windows NT/2000 y root para Linux. • Subadministradores u operadores: Son aquellas personas que tienen determinados derechos preferentes para administrar recursos concretos de la red. A esta categoría pertenece el personal encargado de administrar las impresoras, las cuentas de usuarios, los grupos de trabajo establecidos, obtener estadísticas de funcionamiento de la red, apagar o encender los servidores, etc. La figura del subadministrador de red se utiliza fundamentalmente para delegar algunas de las tareas mencionadas anteriormente que en pequeñas redes locales se encomiendan solamente al administrador. • Usuarios: A esta categoría pertenecen la mayoría de los usuarios que utilizan la red local como herramienta de trabajo. Poseen permisos para utilizar determinados recursos (impresoras, archivos y carpetas, aplicaciones instaladas, etc.) que les han sido asignados por los administradores o subadministradores. Todas las personas que pertenecen a esta categoría no tienen permisos para conceder derechos a otros usuarios, a excepción de los recursos de su máquina local (dependiendo del sistema operativo utilizado). Esta división por tipos de usuarios establece una jerarquía en la red, dependiendo de los permisos concedidos: los administradores se encuentran en el nivel más alto, ya que tienen acceso completo a la red (o, por lo menos, a las partes más importantes); por debajo de ellos se encuentran los subadministradores, que tienen ciertos derechos para conceder permisos y, finalmente, se encuentran los usuarios, que, aunque no pueden conceder derechos a otros, son los que utilizan realmente los recursos de la red para realizar su trabajo. 9.2. GESTIÓN DE PERMISOS EN LAS REDES MICROSOFT La administración de permisos en una red Microsoft depende en gran medida de los sistemas operativos instalados en los equipos y de los recursos que se desee gestionar. En los apartados siguientes se explicará la administración de permisos en un grupo de trabajo, en un dominio de Windows NT y en un dominio de Windows 2000. 332 REDES DE ÁREA LOCAL RA-MA 9.2.1. Grupos de trabajo en la red Microsoft En un grupo de trabajo de la red Microsoft, los derechos se establecen solamente para el sistema de archivos e impresoras por el usuario local. Esto quiere decir que, si un usuario desea acceder a una carpeta situada en el disco duro de un equipo remoto, deberá solicitar al usuario de ese equipo que “comparta” dicha carpeta para poder acceder a ella. Como se explicó en el capítulo 7, apartado 7.3, cualquier equipo Windows (en las versiones 9x/Me/NT/2000) puede acceder a los grupos de trabajo de la red Microsoft y compartir carpetas en ella. La razón ha sido que Microsoft ha mantenido la compatibilidad de todas sus versiones de Windows en este tipo de acceso a la red (ya que incluyen el protocolo NetBIOS). Puede observarse la figura 9.1 donde aparece la ventana de Toda la red de Windows 2000 y donde se puede seleccionar, tanto la exploración de los grupos de trabajo y los dominios, como el directorio activo creado por los servidores. Sin embargo, la forma en que estos sistemas comparten la información puede variar ligeramente. Figura 9.1. Ventana de Toda la red en un equipo Windows 2000. A ésta se accede desde el icono “Mis sitios de red” situado en el escritorio o el explorador de Windows pulsando en la opción “Toda la red || contenido completo”. Incluso aparece un icono para acceder a los servicios de la red Novell, si es que existe algún servidor accesible. Al compartir una carpeta local (los archivos no se pueden compartir), el usuario solamente puede especificar dos opciones básicas: Si se va a disponer de acceso de sólo lectura (para consultar el contenido de la carpeta y sus archivos) o de lectura y escritura (la cual permite además crear, modificar o eliminar las carpetas y archivos que contiene). Si el usuario que acceda debe introducir una contraseña para tener disponible el recurso. RA-MA CAPÍTULO 9: EL SERVICIO DE DIRECTORIO 333 Compartir una carpeta en la red Microsoft implica que también se comparten las carpetas y archivos que contienen con las mismas restricciones que el padre (solo lectura o lectura/escritura). No es posible aplicar ningún bloqueo para subcarpetas y archivos contenidos. Recuérdese que, si se comparte una carpeta con el nombre acabado en el carácter $, ésta no aparece en la ventana de exploración de la red (aunque sí que puede ser accedida). Independientemente de la versión de Windows que estemos utilizando, para establecer un archivo o carpeta compartida, el usuario deberá acceder al menú contextual de ella y seleccionar la opción “Compartir”. Evidentemente, el servicio Compartir archivos e impresoras en la red Microsoft deberá estar instalado en el equipo. Para las versiones de Windows 9.x/Me aparecerá una ventana como la de la figura 9.2. La figura 9.3 muestra la misma ventana que aparece en un equipo Windows NT, mientras que la figura 9.4 muestra el caso de un sistema Windows 2000. Figura 9.2. Ventana de configuración de archivos y carpetas compartidas en Windows 9x. La opción “Completo” indica que el acceso a la carpeta puede ser de lectura y escritura. Por su parte, la opción “Depende de la contraseña” indica que el tipo de acceso se realizará dependiendo de la contraseña que introduzca el usuario remoto. Como se puede observar en todas estas figuras (9.2, 9.3 y 9.4), la forma de compartir una carpeta es muy similar, aunque un equipo Windows NT/2000 puede ofrecer características adicionales. La diferencia más notoria es que en un equipo Windows NT/2000 puede establecerse un número máximo de usuarios remotos que pueden acceder a la vez al recurso. En cuanto a los permisos, en todos los casos suelen ser muy parecidos (teniendo en cuenta que en Windows NT/2000 se pueden establecer permisos para objetos concretos, como usuarios del dominio, grupos o equipos). 334 REDES DE ÁREA LOCAL RA-MA Figura 9.3. Ventana de configuración de archivos y carpetas compartidas en Windows NT. Los derechos de acceso al recurso compartido se establecen pulsando el botón “Permisos...”. Figura 9.4. Ventana de configuración de archivos y carpetas compartidas en Windows 2000. Esta ventana guarda más parecido con la ventana de Windows NT que con la de Windows 9x y, de hecho, se pueden configurar las mismas opciones que en el primer caso. RA-MA CAPÍTULO 9: EL SERVICIO DE DIRECTORIO 335 Los permisos que se pueden establecer en los recursos compartidos de Windows NT/2000 son: Control total (equivalente a un acceso completo), Lectura y Cambio (es decir, establecer esta carpeta como la actual). La restricción que especifica el límite máximo de usuarios conectados al mismo tiempo se utiliza para impedir que el equipo se sobrecargue excesivamente con un número elevado de accesos remotos. Aunque Windows 9x no es capaz de controlar las operaciones que un usuario está autorizado a realizar en su estación de trabajo, es posible utilizar el Editor de directivas del sistema (o Poledit) con esta finalidad. Gracias a esta herramienta, un usuario tendrá limitadas las operaciones que podrá realizar en su equipo, aunque el programa no es capaz de controlar el acceso a otros equipos. Esta herramienta está incluida en los discos de instalación del sistema operativo. 9.2.2. Dominios de Windows NT Como se vio en el capítulo 7, los recursos compartidos de un dominio son aquéllos que se encuentran en los servidores Windows NT y en las estaciones de trabajo Windows NT Workstation. Los recursos compartidos de las estaciones Windows 3.11/9x/ME se gestionan de forma diferente a través de grupos de trabajo. La gestión de usuarios y grupos se realiza en Windows NT desde la herramienta Administrador de usuarios para dominios. La ventana principal de esta utilidad aparece en la figura 9.5. Figura 9.5. Ventana del administrador de usuarios para dominios de NT. Aquí aparecen los usuarios y grupos definidos, tanto para el equipo local, como para todo el dominio. 336 REDES DE ÁREA LOCAL RA-MA En un dominio de Windows NT toda la información de administración de permisos y seguridad se guarda en un servicio de directorio plano. Esto quiere decir que, aunque pueden establecerse permisos a nivel de usuarios y grupos, estos objetos no se gestionan a través de una estructura jerárquica como en Novell o Windows 2000. Por lo tanto, la asignación de permisos es muy simple, pero a la vez está muy limitada a usuarios y grupos definidos en el dominio. Figura 9.6. Ventana de propiedades de un usuario en Windows NT. Desde aquí se pueden establecer todas las opciones de configuración de las cuentas de usuario. Cada usuario tiene establecido un conjunto de propiedades, como muestra la ventana de examen de un usuario en la figura 9.6. Entre las propiedades más importantes, destacamos: • Pertenencia a grupos: Permite indicar los grupos a los que pertenece el usuario. • Perfil del usuario: Permite indicar la configuración de escritorio del usuario, un archivo de comandos de inicio de sesión y una carpeta personal de trabajo (local o remota). • Horas de inicio de sesión: Permite indicar las horas a las que el usuario se puede conectar al dominio. • Iniciar desde: Permite indicar las estaciones de trabajo desde donde el usuario puede iniciar una sesión en el dominio. Por defecto, es cualquier estación, aunque se puede restringir a una o varias de la red. • Cuenta: Permite indicar información adicional sobre la cuenta de usuario, como fecha de caducidad o tipo (local al equipo o global al dominio). RA-MA CAPÍTULO 9: EL SERVICIO DE DIRECTORIO 337 • Marcado: Se utiliza para permitir o denegar a los usuarios la conexión de acceso telefónico a redes. Desde el administrador de usuarios también se pueden establecer los derechos de los usuarios y grupos para poder realizar determinadas operaciones sobre el servidor. Para ello, hay que seleccionar el usuario o grupo sobre el que se desean modificar los permisos y, luego, pulsar sobre la opción “Directivas || Plan de derechos”. Esto muestra una ventana como la de la figura 9.7. Todos los derechos que se pueden establecer o denegar para los usuarios aparecen en una lista desplegable titulada “Derecho” y se pueden asignar en el cuadro titulado “Conceder a” (todos ellos se enumeran en la tabla 9.1). Figura 9.7. Directivas de derechos de usuario en Windows NT. Si se desean conceder permisos a usuarios o grupos que no aparecen en la lista “Conceder a”, entonces sólo habrá que añadirlos a ella con el botón “Agregar”. Tabla 9.1. Privilegios que se pueden establecer en Windows NT 4 Acceder a este equipo desde la red Actuar como parte del sistema operativo Agregar estaciones de trabajo al dominio Hacer copias de seguridad de archivos y carpetas Saltarse la comprobación de recorrido Cambiar la hora del sistema Crear archivo de paginación Crear objeto testigo Crear objeto compartido permanente Depurar programas Forzar el apagado desde un sistema remoto Generar auditorías de seguridad Incrementar prioridad de planificación de procesos Incrementar cuotas Cargar y descargar controladores de dispositivo Bloquear páginas en memoria Iniciar sesión como proceso por lotes Iniciar sesión como servicio Inicio de sesión local Administrar los registros de auditoría y seguridad Modificar valores de entorno de la memoria volátil Perfilar un proceso individual Perfilar el rendimiento del sistema Reemplazar un testigo a nivel de proceso Restaurar archivos y carpetas Apagar el sistema Tomar posesión de archivos y otros objetos 338 REDES DE ÁREA LOCAL RA-MA Un servidor Windows NT puede establecer también permisos a usuarios y grupos sobre sus propios equipos cuando éstos llevan Windows NT Server/ Workstation instalado. Sin embargo, si esos equipos llevan Windows 9x, la única forma de establecer restricciones sobre el uso de éstos es a través del Editor de directivas del sistema. Permisos sobre archivos y carpetas El establecimiento de permisos sobre los archivos y carpetas no está centralizado en una sola herramienta de Windows NT, sino que está distribuido en varias utilidades. Una de las más importantes es el Administrador de archivos, similar al Explorador de Windows pero con la característica añadida que le permite administrar la seguridad del sistema de archivos del dominio. Para establecer los derechos sobre un archivo o carpeta del propio equipo, basta con acceder a su menú contextual y seleccionar la opción “Seguridad/Permisos”, y aparecerá una ventana como la de la figura 9.8. Los permisos que se pueden establecer para archivos y carpetas a nivel de usuarios y grupos aparecen en las tablas 9.2 y 9.3. Éstos se establecen en la ventana que aparece (figura 9.9) cuando se pulsa en el botón “Permisos”. Figura 9.8. Ventana de configuración de permisos para archivos y carpetas de Windows NT. En esta página se puede establecer, para un archivo o carpeta, el propietario, los permisos y la configuración de auditoría. RA-MA CAPÍTULO 9: EL SERVICIO DE DIRECTORIO 339 Tabla 9.2. Permisos sobre archivos Permiso RX RWXD Nombre Lectura Cambio Descripción Derecho para leer el contenido del archivo y ejecutarlo. Permite leer o escribir el contenido del archivo, además de eliminarlo o ejecutarlo. RWXDPT Control total Se dispone de acceso total al archivo. Sin acceso No se dispone de acceso al fichero. Acceso Se especifican los derechos de forma individual. Éstos especial pueden ser: lectura (R), escritura (W), ejecución (X), eliminación (D), cambio de permisos (P) y toma de posesión (T). Tabla 9.3. Permisos sobre carpetas Permiso RX- Nombre Listado RX-RX Lectura WX- Adición RWX-RX RWXDRWXD Adición y lectura Cambio RWXDPT- Control RWXDPT total Acceso especial a carpetas Acceso especial a archivos Descripción Permite listar el contenido de la carpeta y todas sus subcarpetas. Permite listar el contenido de la carpeta y todas sus subcarpetas, así como leer y ejecutar sus archivos. Se utiliza para añadir archivos y carpetas, aunque no se dispone de acceso a éstos. Se utiliza para añadir archivos y carpetas a los que, posteriormente, se dispone de acceso de lectura y ejecución o listado. Permite listas o modificar el contenido de la carpeta y sus subcarpetas, además de leer o escribir los archivos que contienen. Se dispone de acceso total a la carpeta, subcarpetas y archivos que contienen. Se especifican los derechos de forma individual a las subcarpetas. Éstos pueden ser: lectura (R), escritura (W), ejecución (X), eliminación (D), cambio de permisos (P) y toma de posesión (T). Se especifican los derechos de forma individual a los archivos de la carpeta. Éstos pueden ser: lectura (R), escritura (W), ejecución (X), eliminación (D), cambio de permisos (P) y toma de posesión (T). Hay que tener en cuenta que un archivo o carpeta tiene siempre un propietario (el usuario que lo creó) y éste tiene siempre acceso completo a él. Como puede ocurrir en otros sistemas, un usuario con permisos sobre un archivo o carpeta puede hacerse propietario de él mediante la toma de posesión. Esta operación se puede realizar desde la ventana de la figura 9.8 pulsando en el botón “Propietario” y pulsando de nuevo sobre “Toma de posesión” en el cuadro de diálogo que aparece, como se muestra en la figura 9.10. 340 REDES DE ÁREA LOCAL RA-MA Figura 9.9. Ventana de configuración de permisos de un archivo o carpeta en Windows NT. Estos permisos se pueden establecer para usuarios, grupos y equipos del dominio. Figura 9.10. Propietario de un archivo o carpeta en Windows NT. Desde esta ventana es posible tomar posesión del elemento, si es que se dispone del permiso T sobre él. La única forma de herencia que existe para asignar permisos en Windows NT consiste en utilizar las casillas de verificación que se encuentran en la parte superior de la figura 9.9. La opción “Reemplazar permisos en subdirectorios” se utiliza para indicar que el permiso establecido para la carpeta es el mismo que van a tener todas las subcarpetas que cuelguen de ésta. La opción “Reemplazar permisos en archivos existentes” se utiliza para que el sistema asigne los mismos permisos de la carpeta a todos los archivos que ésta contenga (no sus subcarpetas, a no ser que también esté marcada la opción anterior). Puesto que los dominios pueden coexistir con los grupos de trabajo en una red Microsoft, se ha establecido la equivalencia en la compartición de los elementos del sistema de ficheros. Cuando un usuario comparte un archivo o carpeta en un grupo de trabajo como sólo lectura, éste es equivalente al permiso “RX-RX” en el dominio. Así mismo, compartir como lectura y escritura es equivalente a establecer el control total sobre él, es decir, “RWXDPT-RWXDPT”. RA-MA CAPÍTULO 9: EL SERVICIO DE DIRECTORIO 341 9.2.3. Dominios de Windows 2000 La gestión de permisos en Windows 2000 está basada también en el modelo de dominio de Windows NT, aunque es más cercano al de Novell. Sin embargo, la diferencia fundamental con este último tiene que ver con el uso del equipo también como estación de trabajo. Los objetos usuario y grupo en Windows 2000 pueden definirse de forma local al equipo (solamente se utilizan para acceder a él) o globales al dominio (es decir, pueden acceder a los recursos compartidos de la red). Por lo tanto, a los objetos locales solamente se les pueden conceder permisos sobre ciertas operaciones y recursos del equipo local, mientras que a los objetos globales se les aplican derechos, sobre todo, el directorio activo de la red. Cuentas de usuario en Windows 2000 Como se vio en el capítulo 7, un objeto usuario en Windows 2000 está caracterizado por un nombre que se utiliza para el inicio de sesión en el equipo o dominio. Así mismo, dispone de un nombre de correo electrónico que se construye de izquierda a derecha con el nombre de inicio de sesión, el símbolo “@” y el dominio en el que ha sido creado. Hay que tener en cuenta que, al igual que los grupos, las cuentas de usuario deben tener un nombre único en el dominio. Las cuentas de usuario son de dos tipos: locales (se utilizan para acceder solamente al equipo local) y globales (se utilizan para iniciar sesión en el dominio). Las cuentas locales se crean seleccionando el icono “Mi PC”, pulsando con el botón derecho del ratón y accediendo a la opción “Administrar”, icono “Usuarios locales y grupos”. Sin embargo, las cuentas de dominio se crean desde la herramienta administrativa Usuarios y equipos de Active Directory (hay que haber instalado previamente el Directorio Activo). Para consultar las propiedades de una cuenta de usuario, basta con seleccionarla (desde la ventana “Administración de equipos”, si es un usuario local, o desde la herramienta Usuarios y equipos de Active Directory, si son cuentas de dominio), pulsar con el botón derecho del ratón y acceder a la opción “Propiedades”. La ventana de propiedades de una cuenta de usuario aparece en la figura 9.11 y contiene básicamente la siguiente información: General: Aquí aparecen las propiedades generales del usuario, como el nombre, dirección de correo, teléfono, etc. Dirección: Establece la dirección completa del usuario. Cuenta: Corresponde a las propiedades relacionadas con el inicio de sesión del usuario, como la contraseña, su caducidad, las horas autorizadas para el inicio de sesión, etc. 342 REDES DE ÁREA LOCAL RA-MA Perfil: Establece la configuración del perfil del usuario (véase el apartado dedicado a esta cuestión dentro de este mismo punto), es decir, el archivo que establecen el aspecto y comportamiento del escritorio que utiliza, además de su carpeta personal. Teléfonos: Indica todos los teléfonos de localización del usuario. Organización: Establece todos los datos de la organización a la que pertenece el usuario: nombre, departamento, etc. Miembro de: Se utiliza para consultar o establecer la pertenencia del usuario a grupos. Marcado: Establece las propiedades de acceso telefónico del usuario. Entorno: Se utiliza para definir el entorno de inicio de Terminal Server. Sesiones: Establece el tiempo de espera, reconexión y finalización de sesiones inactivas. Control remoto: Se utiliza para configurar el control remoto en Terminal Server. Perfil de servicios de Terminal Server: Aquí aparecen las propiedades relacionadas con el perfil utilizado en el acceso al servidor mediante Terminal Server. Figura 9.11. Ventana de propiedades de una cuenta de usuario en Windows 2000. Como puede observarse, Windows 2000 almacena una gran cantidad de información relativa al usuario, si se compara con las cuentas utilizadas en Windows NT. RA-MA CAPÍTULO 9: EL SERVICIO DE DIRECTORIO 343 Toda la información relativa a los servicios de Terminal Server aparece en el capítulo 10, apartado 10.2.5. Por defecto, el sistema crea en la instalación dos cuentas de usuario: el Administrador, que tiene el privilegio de realizar cualquier operación sobre el sistema y el dominio, y el Invitado, cuyos privilegios están muy limitados al acceso al dominio y poco más. El resto de usuarios deberán ser definidos por el administrador del servidor. En Windows 2000 se puede establecer una carpeta personal para uso exclusivo del usuario. Esta carpeta personal puede estar ubicada en el propio servidor o en cualquier otro equipo del dominio. Para establecer una carpeta personal de usuario, hay que seguir los siguientes pasos: 1. En primer lugar, hay que crear una carpeta compartida para el grupo al que pertenece el usuario (si es que no existe ya). Para ello, hay que acceder al menú contextual de ella y seleccionar la opción “Propiedades”. En la página “Compartir” hay que activar el botón de opción “Compartir esta carpeta”. Así mismo, en la página “Seguridad” hay que eliminar el permiso Control Total asignado al grupo Todos y asignarlo al grupo al que pertenece el usuario. 2. Abrir la herramienta administrativa Usuarios y equipos de Active Directory. 3. Buscar en el árbol de dominio la cuenta de usuario correspondiente y seleccionar la opción “Propiedades” de su menú contextual (accesible pulsando con el botón derecho del ratón). 4. Acceder a la página “Perfil”, sección “Directorio principal” y marcar el botón de opción “Conectar”. Hay que completar los campos que se encuentran a la derecha de ese botón de opción especificando la letra de unidad que el usuario va a utilizar para acceder a su carpeta personal (de la F a la Z) y la dirección de ella (formada por su nombre UNC). Grupos en Windows 2000 Los grupos de Windows 2000 se utilizan para asociar un conjunto de usuarios que comparten unas reglas de seguridad comunes (por ejemplo, los usuarios que pertenecen al mismo departamento de una organización). Gracias a estos objetos, el administrador de la red simplifica sus tareas ya que puede asignar derechos al objeto grupo en vez de a todos los usuarios de él. A diferencia de otros modelos de seguridad, los objetos que pueden pertenecer a un grupo de Windows 2000 son usuarios, contactos, equipos y otros grupos. Gracias a esto, el administrador de la red tiene mucha más facilidad a la hora de asignar permisos a estos objetos. 344 REDES DE ÁREA LOCAL RA-MA Los grupos que gestiona el sistema pueden ser de dos tipos, dependiendo de si se utilizan para asignar derechos a usuarios: • Grupos de seguridad: A través de ellos se pueden conceder derechos, de forma que también son heredados por los objetos que son miembros. Son los grupos utilizados para la administración de seguridad en Windows 2000. • Grupos de distribución: No permiten asignación de derechos. Normal- mente se utilizan para el correo electrónico. Así mismo, los grupos de Windows 2000 también se clasifican dependiendo de su ámbito de influencia en el que han sido creados. Así, tenemos: Grupos locales: Son grupos definidos dentro del ámbito del equipo local y solamente pueden tener como miembros a usuarios locales creados en ese mismo equipo. A estos grupos se les pueden conceder permisos solamente sobre recursos del equipo local. Grupos globales: Solamente pueden tener como miembros otros grupos globales y usuarios que pertenezcan al mismo dominio. A estos grupos se les pueden conceder permisos sobre recursos de cualquier dominio definido en la red. Grupos locales al dominio: Sus miembros pueden ser cualquier usuario y grupo de cualquier dominio. Sin embargo, a estos grupos solamente se les pueden asignar permisos sobre recursos que se encuentran situados en el mismo dominio. Grupos universales: Sus miembros pueden ser cualquier usuario y grupo de cualquier dominio. Además, a estos grupos se les pueden conceder derechos sobre recursos que se encuentran en cualquier dominio definido. Hay que tener en cuenta que los nombres de grupos deben ser únicos en el dominio, aunque se puedan crear en contenedores diferentes. Los grupos se gestionan desde la herramienta administrativa Usuarios y equipos de Active Directory, aunque los grupos locales se administran seleccionando el icono “Mi PC”, pulsando con el botón derecho del ratón y accediendo a la opción “Administrar”, icono “Usuarios locales y grupos” (si no se ha instalado el Directorio Activo). Algunos grupos predefinidos existen en el sistema ya que son creados automáticamente en la instalación. Éstos se utilizan para realizar tareas comunes de administración tanto en el equipo local como en el dominio. Perfiles de usuario Un perfil de usuario es un conjunto de parámetros que especifica toda la configuración de escritorio y menú de inicio que utiliza ese usuario. Esta información de perfil se almacena en un archivo que es consultado por el sistema cuando el usuario RA-MA CAPÍTULO 9: EL SERVICIO DE DIRECTORIO 345 inicia una sesión, y se actualiza con los cambios que realiza en su escritorio. Gracias a los perfiles, el usuario puede mantener su configuración independientemente del equipo desde donde se conecte al dominio, al mismo tiempo que permite mantener diferentes configuraciones en una misma estación. Existen varios tipos de perfiles: Perfil local: Se aplica a un usuario y un equipo desde donde inicia la sesión (el archivo de perfil se guarda en éste). Esto quiere decir que el perfil no se utiliza cuando el usuario inicia la sesión desde otro equipo. Perfil móvil: Se aplica a una cuenta de usuario del dominio y se guarda en el servidor correspondiente. Así, el usuario mantendrá el mismo perfil independientemente del equipo desde donde inicie la sesión en el dominio. Perfil obligatorio: Se trata de un perfil móvil que no puede ser modificado por el usuario, sino solamente por el administrador. Esto quiere decir que si el usuario modifica su escritorio, estos cambios se perderán para el siguiente inicio de sesión. Los perfiles locales de los usuarios se crean con valores por defecto cuando un usuario inicia sesión en un equipo. Estos valores se almacenan en una carpeta que tiene el mismo nombre que el usuario en la siguiente localización: ⌦ En Windows 9x, en la carpeta C:\Windows\Profiles. ⌦ En Windows NT, en la carpeta C:\Perfiles. ⌦ En Windows 2000, en la carpeta C:\Documents and settings. Figura 9.12. Ventana de configuración de perfil de usuario en Windows 2000. La ruta UNC del archivo de perfil de usuario se establece en el cuadro de texto titulado “Ruta de acceso al perfil”. 346 REDES DE ÁREA LOCAL RA-MA Si se desea establecer un perfil móvil de usuario, bastará con copiar su perfil local (todos los archivos y carpetas que incluya) a un servidor y especificar su ruta UNC accediendo a la ventana de propiedades del usuario, opción “Perfil || Ruta de acceso al perfil” (figura 9.12). La carpeta donde se almacena el perfil del usuario deberá haber sido compartida para que el usuario pueda leer su configuración. Para crear un perfil móvil obligatorio, deberá renombrarse el archivo NTUSER.DAT a NTUSER.MAN de la carpeta compartida de perfiles y de la carpeta donde se guarda el perfil de dicho usuario. Administración de derechos y permisos En Windows 2000 se establece una distinción en lo que se refiere a la administración de seguridad y concesión de privilegios a usuarios: Derechos: Son aquellos privilegios que tienen que ver con las operaciones que pueden realizarse en el sistema. Estas operaciones pueden ser, por ejemplo, el apagado del sistema, cargar controladores de dispositivos, etc. Permisos: Se trata de privilegios relacionados con el uso de ciertos elementos del sistema. Los permisos se aplican, por ejemplo, sobre archivos y carpetas, e indican qué operaciones se pueden realizar sobre éstos, como lectura, escritura, ejecución, etc. Los derechos que se conceden a usuarios y grupos en el equipo local o el dominio completo son muchos; por esa razón, no se exponen en este libro, aunque pueden consultarse en la directiva de seguridad correspondiente, como se expone a continuación. La gestión de derechos sobre las operaciones del sistema se realiza desde las utilidades directiva de seguridad de dominio (derechos sobre todo el dominio), directiva de seguridad del controlador del dominio (derechos sobre el controlador primario de dominio) y directiva de seguridad local (derechos aplicados al equipo local). Estos tres conjuntos de derechos forman el directorio activo. La figura 9.13 muestra la ventana principal de configuración de derechos en el dominio. Para acceder a la gestión de permisos, hay que seleccionar el icono “Asignación de derechos de usuario”, aunque existen otras directivas configurables, como las relacionadas con las cuentas de usuario (accesibles desde el icono “Directivas de cuenta”). Los derechos que aparecen en la figura 9.13 se establecen globalmente para todos los usuarios en todo el dominio (según sea el caso). Sin embargo, también es posible establecer permisos sobre determinadas operaciones en el sistema a conjuntos de usuarios, como modificar los scripts de inicio de sesión de los usuarios, indicar qué aplicaciones de red pueden ejecutarse por éstos, etc. La asignación de todos estos tipos de derechos se realiza a través de unos objetos especiales llamados directivas de grupo (group policies). Así, cuando se desean establecer ciertos derechos para un usuario, primero hay que crear una directiva de grupo y asignarla al objeto usuario correspondiente. RA-MA CAPÍTULO 9: EL SERVICIO DE DIRECTORIO 347 Figura 9.13. Ventana de configuración de las directivas de seguridad del dominio en Windows 2000. Como se puede observar, los permisos que se pueden establecer para los usuarios son mucho más completos que en los dominios de Windows NT. Figura 9.14. Configuración de directivas de grupo en Windows 2000. Una directiva está definida por dos tipos de permisos: configuración del equipo y configuración de usuario. La asignación de directivas de grupo de Windows 2000 se realiza solamente a objetos de tipo contenedor (unidades organizativas, dominios o sitios) y a grupos, de forma que éstas son heredadas por todos los objetos usuario, grupo o equipo que han sido creados dentro de éstos (o en sus contenedores hijos) o a los usuarios pertenecien- 348 REDES DE ÁREA LOCAL RA-MA tes al grupo al que se le ha asignado. Hay que tener en cuenta que las directivas de grupo se van sumando si es que al usuario o equipo le afecta más de una. La figura 9.14 muestra la herramienta para configurar directivas de grupo en Windows 2000. A cada objeto contenedor o grupo se le puede asignar varios objetos directiva de grupo, también llamados GPO (Group Policy Object), que contienen un conjunto de definiciones de derechos y configuraciones personalizadas del sistema. También es posible asignar un mismo GPO a varios objetos. Ese conjunto de definiciones, como muestra la figura 9.14, está ordenado y jerarquizado en carpetas con dos divisiones principales: ⌦ Configuración de equipo: Este tipo de políticas de grupo se aplican cuando se inicia el equipo y definen el comportamiento del sistema, configuraciones personalizadas de entorno y aplicaciones, ciertos permisos y un conjunto de comandos (script) que se ejecutan al iniciar la sesión en el equipo. ⌦ Configuración de usuario: Estas políticas de grupo se aplican cuando el usuario entra en la red y establecen su entorno personalizado, los derechos sobre ciertas operaciones del sistema y un script de inicio. Dentro de estos dos tipos de directivas de grupo encontramos los siguientes apartados: Plantillas administrativas: Incluye los derechos que gobiernan el comportamiento y apariencia del escritorio, programas y aplicaciones. Configuración de seguridad: Indica la configuración de seguridad de los equipos. Instalación de software: Se utiliza para centralizar la instalación de aplicaciones en la red. Archivos de comando (inicio/apagado): Programas que se inician cuando se enciende o se apaga un equipo, o cuando se abre o cierra una sesión. Redireccionamiento de carpetas: Permite redirigir algunas carpetas especiales a la red. La herencia de políticas de grupo se realiza por defecto desde la parte alta del árbol a la parte baja, es decir, desde los objetos sitio pasando por los dominios hasta las unidades organizativas. Este mecanismo permite que políticas aplicadas a contenedores de más bajo nivel sustituyan a otras políticas aplicadas a un nivel superior. Sin embargo, en Windows 2000 también es posible modificar este flujo de herencia por defecto. Así, se pueden establecer dos tipos de restricciones en la herencia: RA-MA CAPÍTULO 9: EL SERVICIO DE DIRECTORIO 349 No sustituir: Impide que una política aplicada a un nivel inferior sustituya a otra de nivel superior. Bloqueo de herencia: Hace que una política aplicada a niveles inferiores tenga preferencia sobre las superiores. Para añadir una directiva de grupo a un objeto contenedor o grupo del directorio activo, hay que seguir los siguientes pasos: 1. Desde la utilidad Usuarios y equipos de Active Directory, pulsar con el botón derecho del ratón sobre el contenedor o grupo al que se desea aplicar la directiva y seleccionar la opción “Propiedades” del menú contextual. 2. En la ventana que aparece, seleccionar la página “Directiva de grupo” y pulsar el botón “Nueva” (si se desea crear una directiva de grupo) o “Agregar” (si se desea asignar una directiva existente al objeto en cuestión). 3. Una vez creada o asignada la directiva existente, se pueden modificar sus permisos asignados seleccionándola de la lista y pulsando el botón “Modificar”, lo que mostrará una ventana como la de la figura 9.14. Los permisos sobre el sistema de archivos se gestionan de forma parecida a Windows NT. Basta con acceder al menú contextual del archivo o carpeta (pulsando sobre éste con el botón derecho del ratón), seleccionando “Propiedades” y pulsando en “Seguridad” (véase la figura 9.15). Figura 9.15. Ventana de permisos de una carpeta en Windows 2000. Los permisos que se pueden establecer aquí son iguales a los utilizados en Windows NT, aunque en este caso se puede observar que existe una casilla de verificación al final que permite indicar si esos permisos se heredarán hacia abajo en el árbol del sistema de archivos. 350 REDES DE ÁREA LOCAL RA-MA En la ventana de la figura 9.15 aparece la página “Seguridad”, donde los únicos permisos que aparecen en la lista son Control total, Modificar, Lectura y ejecución, Leer y Escribir aunque se pueden establecer permisos más avanzados. Por ejemplo, para ver todos los permisos que posee el grupo Todos de la figura 9.15, se puede pulsar sobre el botón “Avanzada”, seleccionar “Todos” y pulsar sobre el botón “Ver o modificar”. Esto muestra todos los permisos establecidos, como aparece en la figura 9.16: Figura 9.16. Ventana de configuración de permisos de acceso a una carpeta en Windows 2000. Aquí se pueden establecer los permisos que dispone el objeto especificado en el campo “Nombre” sobre la carpeta o archivo. Los permisos aplicados sobre carpetas pueden hacerse también heredables a archivos y carpetas situados dentro de ellas. Para ello, hay que activar la casilla de verificación “Hacer posible que los permisos heredables de un objeto primario se propaguen a este objeto” de la figura 9.15. Si se no se activa esta casilla, los permisos asignados solamente se aplicarán sobre la carpeta o archivo correspondiente. En las tablas 9.4 y 9.5 se incluyen todos los permisos aplicables a archivos y carpetas, junto con una breve descripción de su utilidad. Nótese que la asignación de permisos en el directorio activo se puede realizar tanto a archivos como a carpetas, mientras que la opción de compartición que se utiliza en grupos de trabajo solamente se aplica a carpetas (nunca a archivos). RA-MA CAPÍTULO 9: EL SERVICIO DE DIRECTORIO 351 Tabla 9.4. Permisos sobre carpetas en Windows 2000 Permiso Ejecutar archivo Leer datos Atributos de lectura Atributos extendidos de lectura Escribir datos Anexar datos Atributos de escritura Atributos extendidos de escritura Eliminar Permisos de lectura Descripción Permite ejecutar el archivo. Mostrar el contenido del archivo. Derecho de lectura sobre los atributos del archivo. Derecho de lectura sobre los atributos extendidos del archivo. Modificar el contenido del archivo. Aumentar el contenido del archivo. Derecho de escritura sobre los atributos del archivo. Derecho de escritura sobre los atributos extendidos del archivo. Eliminar el archivo. Derecho de lectura sobre los permisos del archivo. Tabla 9.5. Permisos sobre archivos en Windows 2000 Permiso Cambiar permisos Tomar posesión Recorrer carpeta Listar carpeta Atributos de lectura Atributos extendidos de lectura Crear archivos Crear carpetas Atributos de escritura Atributos extendidos de escritura Eliminar subcarpetas y archivos Eliminar Permisos de lectura Cambiar permisos Tomar posesión Descripción Modificar los permisos del archivo. Convertirse en propietario del archivo. Acceder al contenido de la carpeta. Mostrar los archivos y carpetas que contiene. Derecho de lectura sobre los atributos de la carpeta. Derecho de lectura sobre los atributos extendidos de la carpeta. Crear archivos dentro de la carpeta. Crear carpetas dentro de la carpeta. Derecho de escritura sobre los atributos de la carpeta. Derecho de escritura sobre los atributos extendidos. Eliminar las carpetas y archivos que contiene. Eliminar la propia carpeta. Derecho de lectura sobre los permisos de la carpeta. Modificar los permisos de la carpeta. Convertirse en propietario de la carpeta. El sistema operativo comparte de forma predeterminada en la instalación las siguientes carpetas: • Admin$: A esta carpeta solamente pueden acceder el Administrador, los Operadores de copia y los Operadores de sevidores, y se utiliza para tareas de administración remota. 352 REDES DE ÁREA LOCAL RA-MA • C$: A esta carpeta solamente pueden acceder el Administrador, los Operadores de copia y los Operadores de servidores. • IPC$: Se utiliza para tareas de administración remota y acceso a recursos compartidos. • Netlogon: Solamente se utiliza por equipos que funcionan como servidores en el dominio. • Print$: Se utiliza para la administración de impresoras compartidas. • Repl$: Se utiliza para el envío de fax. 9.3. GESTIÓN DE PERMISOS EN LINUX La gestión de los derechos en Linux para realizar ciertas operaciones en el sistema y para el acceso a archivos y carpetas se realiza mediante las cuentas de usuarios y grupos. Los derechos que se establecen para ellos tienen la misma validez tanto en un acceso directo a la máquina local como en un acceso remoto mediante los servicios proporcionados por la red de comunicación. El modelo de administración de permisos y derechos de acceso a recursos en Linux se asemeja bastante al utilizado en los grupos de trabajo de la red Microsoft. Cada sistema se encarga de establecer los permisos que tienen los equipos remotos para acceder a sus recursos locales. Sin embargo, la potencia de las herramientas disponibles en Linux permite indicar de una forma individual (por equipos) los permisos que deben asignarse. 9.3.1. Gestión de usuarios y grupos La gestión de usuarios y grupos en Linux puede realizarse utilizando diferentes herramientas. Las más utilizadas en todas las distribuciones de Linux son los comandos useradd (creación de usuarios), userdel (eliminación de usuarios), groupadd (creación de grupos) y groupdel (eliminación de grupos). Sin embargo, a no ser que estos comandos se utilicen en shell-scripts para gestión de múltiples cuentas, su uso se va restringiendo cada vez más en beneficio de las herramientas gráficas. En SuSE Linux se utiliza la herramienta centralizada YaST y YaST2 para administración de cuentas de usuarios y grupos. En YaST2, hay que acceder al grupo de utilidades Seguridad&Usuarios. En él podemos encontrar los siguientes iconos: “Crear un nuevo usuario”. “Crear un nuevo grupo”. “Editar y crear usuarios”. “Editar y crear grupos”. RA-MA CAPÍTULO 9: EL SERVICIO DE DIRECTORIO 353 Figura 9.17. Ventana de administración de cuentas de usuario en SuSE Linux. Marcando la opción “Ver también usuarios de sistema” aparecen todos los usuarios predefinidos en el equipo, además del root y cualquier otro usuario que haya creado el administrador del sistema. Figura 9.18. Ventana de administración de grupos en SuSE Linux. La opción “Ver también los grupos del sistema” sirve para ver los grupos definidos automáticamente por el equipo, además del grupo users y todos los grupos creados por el administrador del sistema. Los más utilizados son “Editar y crear usuarios” (cuya ventana principal aparece en la figura 9.17) y “Editar y crear grupos” (su ventana principal aparece en la figura 9.18). Como se puede observar, estas herramientas son, en realidad, una sola. 354 REDES DE ÁREA LOCAL RA-MA Bastará con seleccionar cualquiera de los botones de opción “Administración de usuarios” y “Administración de grupos” situados en la parte superior de la ventana para cambiar de una a otra. En el caso de Linux Red Hat se emplea el panel de control para administrar las cuentas de usuarios y grupos. La herramienta resulta accesible desde el icono “User Manager” y su ventana principal se muestra en la figura 9.19. Las listas de usuarios y grupos están disponibles en las páginas “Usuarios” y “Grupos” y el cuadro de texto que hay al lado del botón “Aplicar filtro” se utiliza para hacer listados selectivos de usuarios o grupos de acuerdo a un patrón. Figura 9.19. Ventana de administración de usuarios y grupos en Linux Red Hat. Por defecto solamente aparecen los usuarios y grupos creados por el administrador. Un usuario en Linux puede pertenecer a más de un grupo. Cuando se crea un usuario en el sistema, normalmente se le asigna el grupo users, aunque se le pueden asignar otros grupos dependiendo de los privilegios que éste necesite en el sistema. Todos los usuarios y grupos creados tienen asociados un identificador, llamado UID (User IDentificator o Identificador de Usuario) o GID (Group IDentificator o Identificador de Grupo). Estos identificadores son numéricos y se pueden emplear para especificar usuarios o grupos, aunque su uso fundamental es interno al sistema. 9.3.2. Asignación de derechos En los sistemas Linux, la administración de la seguridad se basa en los permisos que se aplican sobre las carpetas y los archivos del sistema. Esto quiere decir que esos permisos también gestionan la seguridad de ciertas operaciones que se pueden realizar sobre el sistema, precisamente aquéllas relacionadas con la utilidad del archivo en cuestión. El ejemplo 9.1 muestra esta situación. RA-MA CAPÍTULO 9: EL SERVICIO DE DIRECTORIO 355 EJEMPLO 9.1 Como se ha visto en capítulos anteriores, todos los dispositivos del sistema se controlan en Linux a través de unos archivos de controlador alojados en la carpeta /dev. Para la gestión de los terminales remotos, por ejemplo, se utilizan los archivos ttyxx, donde xx especifica un número de terminal. Si deseamos que un usuario o grupo no pueda enviar mensajes a un terminal, entonces bastará con quitarle el derecho de escritura sobre el archivo ttyxx correspondiente. En el caso de una unidad de disquete, el archivo de controlador asociado se llama fd0, y a éste también se le pueden aplicar diferentes permisos para su uso por los usuarios. Para ver una lista de los dispositivos que reconoce el sistema, se puede ejecutar el siguiente comando: $ ls -l /dev | more Los permisos sobre los archivos y carpetas no pueden asignarse para cualquier usuario o grupo, sino que se establecen a través de un conjunto de reglas que se indican en los párrafos siguientes. Los archivos o carpetas de Linux tienen un propietario, es decir, el dueño o dueños de ellos, que normalmente coincide con los usuarios que los crearon. Solamente el propietario del archivo o carpeta, además del usuario root, puede cambiar sus permisos, o establecer un nuevo propietario (en cuyo caso el propietario anterior perderá los privilegios sobre él). Para establecer el usuario propietario de los archivos y carpetas, se puede utilizar el comando chown que funciona sobre línea de comandos (véase la ayuda man) o el botón derecho del ratón sobre el objeto dentro de la ventana del explorador en entorno gráfico. EJEMPLO 9.2 Para ver cuál es el propietario de un archivo o carpeta, basta con utilizar el comando ls con el modificador –l. Su propietario aparece en la tercera columna: $ ls –l -rw-r-r--rw-r-r--rw-r-r-drwxr-xr-x drwxr-xr-x 1 1 1 2 2 garcia garcia garcia garcia garcia users users users users users 16431 8974 22563 0 0 Jan Jan Jan Jan Jan 30 30 30 29 29 10:54 11:04 11:16 21:39 21:54 Ficha1.sdw Ficha3.sdw notas.sdw datos personal RA-MA 356 REDES DE ÁREA LOCAL Los permisos que se aplican a un archivo o carpeta son los siguientes: Lectura (r): Permite leer el contenido. Escritura (w): Permite modificar su contenido. Ejecución (x): Permite ejecutar el archivo o cambiar a la carpeta (mediante el comando cd, por ejemplo). Asignar UID/GID (s): Permite la ejecución del archivo con los mismos privilegios que el usuario o grupo propietario de él (dependiendo de a cuál de ellos esté establecido). A este permiso también se le llama SUID/SGID y, si aparece, lo hace en el lugar que le corresponde al permiso x en los listados del comando ls. Salvar texto (t): Aplicado a carpetas, establece que los usuarios solamente pueden borrar los archivos que las contengan si es propietario o tiene concedido el permiso de escritura sobre cada uno de ellos. Esta restricción se aplica aunque el usuario tenga concedido el derecho de escritura sobre la carpeta. El permiso t está diseñado para las carpetas donde se crea gran cantidad de archivos temporales. Si este permiso aparece, lo hace en el lugar que le corresponde al permiso w en los listados del comando ls. Los permisos anteriores solamente se establecen para: ⌦ Usuario propietario del archivo o carpeta. ⌦ Grupo propietario (usuarios que pertenecen al mismo grupo que el usuario propietario). ⌦ Resto de usuarios. EJEMPLO 9.3 Suponemos que obtenemos lo siguiente: $ ls –l -rw-rw-r-- 1 garcia users 16431 Jan 30 10:54 Ficha1.sdw El archivo Ficha1.sdw tiene como usuario propietario a garcia, que tiene derecho de lectura y escritura sobre él (rw-). El grupo propietario es users, y todos los usuarios que pertenecen a éste tienen derecho de lectura y escritura (rw-). Finalmente, para el resto de usuarios, únicamente se tiene el derecho de lectura sobre el archivo (r--). RA-MA CAPÍTULO 9: EL SERVICIO DE DIRECTORIO 357 Para establecer los permisos de los archivos y carpetas, se puede utilizar el comando chmod (véase la ayuda man) o el botón derecho del ratón sobre el objeto dentro de la ventana del explorador en entorno gráfico. La figura 9.20 muestra la ventana de configuración de los permisos en entorno gráfico. Figura 9.20. Ventana para establecer los permisos de archivos y carpetas en el entorno gráfico de Linux. Todos los derechos establecidos para el archivo o carpeta se pueden consultar en su ventana de propiedades. Los sistemas Unix/Linux utilizan unos permisos por defecto a la hora de crear archivos y carpetas. Este valor se puede modificar utilizando el comando umask cuya sintaxis es la siguiente: umask [-S] [modo] El comando umask sin parámetros muestra el valor de la máscara de permisos por defecto que se aplica en ese momento. Por su parte, el modificador -S hace que el valor de la máscara se muestre en formato rwx. La forma más sencilla de trabajar con umask es equivalente al comando chmod: se especifica a quién se establece el permiso (usuario, grupo y otros) y qué tipo de permisos (lectura, escritura y ejecución). La máscara que se establece para archivos y carpetas es idéntica, con la salvedad de que el permiso de ejecución no tiene efecto en archivos. Esta táctica impide que, por defecto, se puedan crear archivos con derecho de ejecución. RA-MA 358 REDES DE ÁREA LOCAL EJEMPLO 9.4 Veamos algunos ejemplos de utilización del comando umask y la salida que producen: $ umask 022 $ umask -S u=rwx,g=rx,o=rx $ umask u=rwx,g=r,o= $ umask -S u=rwx,g=r,o= $ umask u=rwx,g=,o= $ umask -S u=rwx,g=,o= $ mkdir prueba $ ls -l drwx------ 2 garcia users 16431 Jan 30 10:54 prueba Cuando un usuario accede al sistema Linux, por defecto no tiene permisos para modificar los archivos de configuración. Sin embargo, se le pueden conceder permisos para ello (aunque no es conveniente por cuestiones de seguridad). Lo más lógico es utilizar los usuarios normales para tareas de explotación del sistema y utilizar al usuario root solamente para tareas de administración y configuración. Existe un comando en Linux, llamado su, que, ejecutado desde una ventana de terminal, permite cambiar la sesión del usuario actual por la del usuario root sin tener que cerrar la sesión anterior. Este comando solicita la contraseña de root y, al finalizarlo (pulsando CTRL + D o escribiendo exit), se restaura la sesión del usuario anterior. La solicitud de la contraseña del usuario root se puede producir, además de al utilizar el comando su, al ejecutar como usuario normal cualquier utilidad de configuración del sistema (control-panel, YaST2, etc.) o que necesite de ciertos privilegios de ejecución. La figura 9.21 muestra la ventana de solicitud de la contraseña de root cuando se ejecuta el programa YaST2 en entorno gráfico y con un usuario normal. En otros casos, es posible que las utilidades de configuración ni siquiera resulten accesibles para los usuarios y, en ese caso, solamente pueden ser ejecutadas directamente como usuario root. En el caso de archivos ejecutables que tengan el permiso s y pertenezcan al usuario root, cualquier usuario podrá iniciar esos programas con los privilegios de superusuario sin necesidad de introducir ninguna contraseña. Estos programas se configuran de este modo cuando necesitan ciertos privilegios de acceso al sistema. RA-MA CAPÍTULO 9: EL SERVICIO DE DIRECTORIO 359 Figura 9.21. Ventana de solicitud de la contraseña de root. Ésta aparece cuando un usuario normal ejecuta cualquiera de las utilidades del sistema que requieren de privilegios de superusuario. El uso que debe darse al usuario root en el entorno Linux debe restringirse a tareas de administración. Esto es debido a que cuenta con derechos para realizar cualquier operación sobre el sistema; incluso puede eliminar archivos importantes. Además, si se accede a una red local o extensa utilizando este usuario, el sistema es más vulnerable a ataques externos. Otras aplicaciones de comunicación por red, como FTP, TELNET y Samba, se basan también en los permisos establecidos a nivel de archivos para generar los derechos que disponen los usuarios, ya que éstos también deben definirse en el sistema. El uso de esas aplicaciones puede contar además con otros derechos que normalmente se establecen en determinados archivos de configuración que se incluyen con ellas. Para los sistemas de ficheros xfs y algunas versiones de Unix, se pueden utilizar las listas de control de acceso o ACL (Access Control List). Esta característica permite extender el uso de los permisos para archivos y carpetas, de forma que también se pueden establecer derechos a nivel de usuarios y grupos concretos. No se incluye en este libro una referencia más exhaustiva de las listas de control de acceso ya que éstas no están implementadas en los sistemas de ficheros de Linux (ext2fs y ext3fs). 9.3.3. Gestión del NDS a través de Linux Gracias al paquete ncpfs, desde un equipo Linux se puede acceder a los objetos NDS de los servidores Novell. Como se expuso en el capítulo 8 (apartado 8.3.3), debe configurarse el equipo con los comandos ipx_configure e ipx_interface antes de usar las utilidades incluidas en este paquete. 360 REDES DE ÁREA LOCAL RA-MA La tabla 9.6 enumera todos los comandos disponibles para la administración de objetos y permisos en el paquete ncpfs y la utilidad de cada uno de ellos. La sintaxis de ellos más cierta información adicional puede consultarse en las páginas del manual (man). Los comandos relacionados con el manejo de archivos o carpetas se explicaron en el capítulo 8, apartado 8.3.3. Así mismo, los comandos relacionados con la gestión y uso de las impresoras de Novell NetWare desde Linux se verán en el capítulo 10, apartado 10.3.5. Tabla 9.6. Comandos de gestión del NDS incluidos en el paquete ncpfs Comando nsend nwauth nwbocreate nwbols nwboprops nwborm nwbpadd nwbpcreate nwbprm nwbpvalues nwgrant nwpasswd nwrevoke nwrights nwtrustee nwuserlist slist Utilidad Envía mensajes a otros usuarios conectados. Verifica el nombre de un usuario y su contraseña. Crea un nuevo objeto en el NDS. Muestra una lista de objetos creados en el NDS. Muestra las propiedades de un objeto del NDS. Elimina un objeto del NDS. Establece el valor de una propiedad de un objeto. Crea una nueva propiedad para un objeto. Elimina una propiedad de un objeto. Muestra el valor de una propiedad de un objeto. Establece los derechos para un archivo o carpeta de un servidor Novell. Establece la contraseña de un usuario. Elimina los derechos establecidos para un archivo o carpeta del servidor Novell. Muestra los derechos efectivos de un archivo o carpeta. Muestra las asignaciones de trustee de un objeto. Muestra los usuarios conectados al servidor. Muestra los servidores Novell activos. 9.4. EJERCICIOS 9.1. Comprueba el correcto funcionamiento de la compartición de carpetas entre un equipo Windows 98 y otro equipo Windows 2000 Professional. ¿Qué servicios y protocolos deben estar instalados en estos dos equipos? ¿Es posible que el equipo Windows 98 pueda acceder a una carpeta compartida del equipo Windows 2000 Professional cuando este último está conectado a un dominio de Windows 2000 Server? ¿Cómo? 9.2. Imagina que se conceden permisos al grupo Todos para el acceso a una carpeta de un servidor Windows NT/2000. ¿Es posible que cualquier usuario pueda acceder a esa carpeta compartida sin llegar a autenticarse en el dominio? RA-MA CAPÍTULO 9: EL SERVICIO DE DIRECTORIO 361 9.3. Enumera todos los pasos que debes seguir para crear cuatro usuarios en un dominio de Windows 2000. Indica cómo se consigue que esos usuarios tengan una carpeta personal de trabajo en el servidor con acceso completo y otra carpeta compartida a la que también puedan acceder los cuatro. 9.4. Comprueba si es posible establecer un bloqueo de herencia para las carpetas contenidas en una carpeta compartida de Windows 2000 Server. 9.5. Enumera los pasos que debes seguir para establecer un perfil obligatorio de un usuario que se conecta al dominio a través de un equipo Windows 98. 9.6. Supón que deseas conceder permiso de acceso a tu carpeta home en Linux a otro usuario que pertenece al grupo dba y tu cuenta de usuario pertenece al grupo users. ¿Qué derechos deben asignarse a esa carpeta home? ¿Con qué comando puedes conseguirlo? 9.7. Utiliza el comando umask para establecer los permisos rwxrwx--- en las carpetas creadas en el sistema. ¿Qué permisos se establecen en los archivos creados con esa máscara? 9.8. Utiliza los comandos incluidos en el paquete ncpfs de Linux para crear un conjunto de usuarios en el servidor Novell. Establece también algunas propiedades en esos objetos. 9.9. ¿Cómo puede conseguir un usuario convertirse en propietario de un archivo de Linux? ¿Quién debe realizar esta operación? ¿Cómo? 9.10. ¿Qué métodos puedes utilizar para obtener una lista de todos los usuarios creados en Linux? 9.5. BIBLIOGRAFÍA Libros en castellano: [APR01] Aprenda Windows 2000 Server José Luis Raya y Elena Raya Ra-Ma, 2001 [RED01] Redes Locales José Luis Raya y Cristina Raya Ra-Ma, 2001 [REH01] Manuales de la distribución Linux Red Hat 7.1 Varios autores Red Hat Inc., 2001 362 REDES DE ÁREA LOCAL RA-MA [SUS01] Manuales de la distribución SuSE Linux 7.3 Varios autores SuSE GmbH, 2001, 2.ª ed. [W9899] Windows 98 Jaime de Yraolagoitia Paraninfo, 1999, 3.ª ed. [WNT97] Windows NT Server 4. Instalación, configuración y administración José Luis Raya y Elena Raya Ra-Ma, 1997 [WNT98] Windows NT Server 4.0, manual avanzado Manuel Beato Víbora y Jorge Franco Rey Anaya, 1998 [W2K00] Windows 2000 Server: Instalación, configuración y administración José Luis Raya y Elena Raya Ra-Ma, 2000 Otra documentación electrónica: [MSW00] Documentación Windows 2000 en CD-ROM (Inglés) Microsoft Official Curriculum: Implementing and Administering Microsoft Windows 2000 Directory Services (Course 2154a) Microsoft corp., 2000 Páginas de Internet: [CYBENET] Apuntes y trabajos de temas de informática en general Varios autores http://www.cybercursos.net/ CAPÍTULO 10 OTROS SERVICIOS DE RED En el último capítulo de este libro se exponen otras características que ofrecen los distintos sistemas operativos de red vistos hasta ahora, como son la impresión, los servidores DHCP, servidores DNS, servidores de archivos, etc. Los sistemas operativos de red suelen ofrecer ciertas funcionalidades comunes a todos ellos (como son el control de la seguridad o el acceso al sistema de archivos). Sin embargo, en este capítulo se exponen otras soluciones que aportan nuevos servicios de gestión de red. Antes de consultar este capítulo, se recomienda al lector que examine el apéndice B donde se explica la configuración básica de red de un sistema operativo, además de los capítulos teóricos donde se definen algunos protocolos importantes. Figura 10.0. Dibujo de una impresora láser 364 REDES DE ÁREA LOCAL RA-MA 10.1. INTRODUCCIÓN Este capítulo está dedicado a exponer otros servicios que incluyen los sistemas operativos de red que no se han visto en capítulos anteriores. Éstos son los servicios de red DHCP, DNS, FTP y WWW, además de la gestión compartida de las impresoras y el encaminamiento. Además de estos servicios, se exponen algunos otros que son característicos de los sistemas operativos repasados hasta ahora: Microsoft Windows y Linux. 10.1.1. Conceptos de impresión en red Uno de los servicios más utilizados por los usuarios de computadoras es la impresión de documentos. En una red de comunicaciones, esta impresión se puede realizar de dos formas: a través de la impresora local (es decir, conectada directamente al equipo) o a través de una impresora remota (conectada a un equipo distinto de la red o conectada directamente a través de un adaptador de red instalado en ella). La figura 10.1 muestra gráficamente estas dos situaciones: Figura 10.1. Diagrama básico de impresión local e impresión remota. La conexión física de la impresora con el equipo local se realiza directamente a través de los puertos de comunicación. Sin embargo, en la impresión remota la información debe pasar primero por la red hasta el equipo donde se encuentra conectada para que éste realice el envío al dispositivo. Una impresora local se conecta normalmente al equipo a través de los puertos de comunicaciones de él: puerto serie, puerto paralelo, puerto USB o puerto FireWire. El más utilizado actualmente es USB, ya que permite una velocidad de comunicación entre la impresora y el ordenador bastante elevada y la alimentación del dispositivo se puede realizar por el mismo cable. La gestión de la impresión local se realiza utilizando una zona de almacenamiento intermedio, llamada buffer de impresión para adaptar las diferentes velocidades de proceso de la información. De no ser así, el ordenador permanecería demasiado tiempo esperando para enviar datos cuando la impresora todavía está imprimiendo la información recibida anteriormente. Existe un programa residente en memoria, llamado spooler de impresión, que se encarga de enviar los datos desde ese buffer hacia la impresora, cuando ésta termina de imprimir el lote anterior y solicita RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 365 otro más. Dependiendo de las versiones, el spooler puede gestionar los documentos que se envían a la impresora permitiendo su pausa, reanudación, cancelación y uso de prioridades por el usuario. Por su parte, la impresión remota o “en red” se puede realizar de tres formas distintas (si es que el sistema operativo de red lo soporta): Utilizando un servidor central: Todas las impresoras están conectadas al servidor o servidores de la red y éstos se encargan de la gestión de los trabajos recibidos. La ventaja de este método consiste en que toda la administración se encuentra centralizada y al alcance de los administradores, pero tiene como inconveniente que los usuarios deben desplazarse a donde se encuentren los servidores para recoger sus documentos. Distribuyendo las impresoras en estaciones de trabajo: En esta aproximación, las impresoras se encuentran conectadas a los equipos que manejan los usuarios. Normalmente, son las estaciones locales las que se encargan de gestionar los trabajos a imprimir y establecer los derechos para todos los usuarios, aunque algunos sistemas operativos de red permiten que esas operaciones se puedan realizar desde los servidores (como es el caso de Novell). Mediante este modelo, se consigue que los documentos impresos sean más accesibles a los usuarios y no necesiten desplazarse fuera de sus departamentos. Dotando a las impresoras de un adaptador de red: Algunas impresoras permiten la instalación de un adaptador de red específico que permite la conexión directa (sin ningún equipo intermedio). Su administración se realiza a través de un servidor que lo soporte o directamente con un programa de configuración incluido en la tarjeta. La identificación de la impresora se realiza siempre en base a su dirección de red asignada. En la impresión remota, el proceso encargado de gestionar los trabajos, el spooler, puede estar funcionando en el equipo local (ya sea el ordenador conectado o la tarjeta de red instalada) o también parte de éste puede residir en una máquina servidora. Este programa se caracteriza por una mayor complejidad, ya que ahora varios usuarios pueden mandar peticiones simultáneas y también deben establecerse permisos con el fin de indicar qué usuarios tienen derecho a eliminar trabajos o establecer prioridades. Normalmente, existirá un administrador del spooler que establecerá las prioridades y podrá detener, reanudar o eliminar trabajos, mientras que el resto de usuarios solamente podrán realizar estas operaciones sobre sus propios trabajos enviados. A cada una de las listas de documentos a imprimir se le llama cola de impresora (print queue) y cada una de las impresoras debe disponer de una de estas colas (cuyo contenido se guarda en la memoria o disco duro de la estación local). Un spooler para impresión en red debe ser capaz de manejar más de una impresora (es decir, más de una cola de impresora) cuando se encuentra funcionando en una máquina servidora o cuando el equipo también tiene conectada más de una. El usuario 366 REDES DE ÁREA LOCAL RA-MA podrá establecer a qué impresora desea mandar su documento o, si se trata de dispositivos iguales, el spooler decidirá a cuál de ellas se enviará dependiendo de su estado (cantidad de trabajos actualmente en espera, nivel de tinta o tóner, etc.). Para la correcta salida de trabajos, el spooler debe enviar a la impresora la orden de pasar a la página siguiente antes de empezar con otro documento (y así impedir que se mezclen). Además, éste se puede configurar para que, antes de empezar con el documento, imprima una página de identificación con el nombre, el usuario propietario o la estación desde donde se envió. 10.1.2. Servidores para encaminamiento En muchas situaciones resulta útil utilizar un servidor de red para tareas de encaminamiento. La razón fundamental estriba en el coste: Un encaminador implementado por hardware resulta mucho más caro que instalar un ordenador con los programas adecuados. Si, además, ese equipo se dedica como servidor de archivos o autenticación de usuarios, el ahorro de recursos resulta bastante evidente. El único problema que se puede plantear es que el ordenador disponga de una elevada capacidad de proceso para realizar todas esas operaciones a un tiempo. Las características que debe disponer un equipo para realizar encaminamiento son las siguientes: ⌦ Disponer de más de un adaptador para conectar diferentes redes. Lo normal es que éstas tengan direcciones de red o subred distintas. ⌦ Generar tablas de encaminamiento dinámicas a partir de información estática, inspección de las direcciones de los paquetes que circulan y otra información enviada por otros dispositivos análogos. ⌦ Comunicar a otros encaminadores las tablas disponibles. ⌦ Utilizar las tablas de encaminamiento y las máscaras de red para establecer las mejores rutas. ⌦ Permitir el establecimiento de tablas estáticas para redes y subredes bien conocidas de la propia organización. ⌦ Mantener una lista de direcciones de otros encaminadores donde se envían o reciben actualizaciones de las rutas. El mantenimiento de las tablas de encaminamiento y el uso de los algoritmos para el envío de los paquetes se realiza a través de unos procesos residentes en memoria que deben ser instalados y configurados en el sistema operativo. Evidentemente, todos los algoritmos de encaminamiento usados dependen de los protocolos a nivel de red que se estén utilizando en ese momento. RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 367 Cada encaminador envía o recibe ciertos paquetes de control que se utilizan para actualizar las tablas de encaminamiento. Estos mensajes se llaman paquetes de información de encaminamiento y contienen información sobre rutas (de la misma forma que las entradas de las tablas de encaminamiento). Estas rutas pueden ser nuevas, pueden haber cambiado o simplemente son caminos más cortos hacia el destino. Cuando un paquete de este tipo llega al encaminador, éste actualiza la entrada correspondiente en su tabla si se cumple alguna de estas condiciones: No existe ninguna entrada con esa dirección de destino (es una nueva ruta que hay que añadir). El paquete ha sido recibido por un encaminador que conecta una red destino de las incluidas en la tabla (esa red puede haber cambiado). Existe una entrada con la dirección de destino, pero ésta no ha sido actualizada en mucho tiempo (está marcada para ser eliminada). Existe una entrada con la dirección de destino que posee un número de saltos superior (lo que indica que se ha encontrado una ruta más corta). Las entradas dinámicas en las tablas de encaminamiento tienen un tiempo de vida limitado (configurado por el administrador, que suele ser del orden de unos pocos minutos). Pasado ese tiempo, la entrada se marca con un número de saltos infinito (se toma como infinito a un número mayor o igual a 16), es decir, se considera como un destino inalcanzable y se marca para su eliminación. Pasados otros pocos minutos, la entrada es definitivamente eliminada de la tabla. Este mecanismo impide que el encaminador mantenga entradas demasiado anticuadas o que ya no existan en la red. Los encaminadores suelen enviar las entradas de sus tablas de forma periódica a los equipos y redes que conectan, en forma de paquetes de difusión. Las respuestas a estos mensajes suelen ser enviadas por otros encaminadores o equipos de esas redes y se utilizan para determinar si el enlace funciona correctamente o deben buscarse rutas alternativas hacia los destinos. En este capítulo nos centraremos en la configuración de estaciones como encaminadores basados en el protocolo IP, puesto que es el más utilizado actualmente. Antes de entrar en la configuración específica de los diferentes sistemas operativos vistos hasta ahora, es recomendable volver a repasar los conceptos de encaminamiento que se introdujeron en el capítulo 5, apartado 5.5. 10.2. SERVICIOS DE RED EN WINDOWS NT/2000 La mayoría de servicios que se explican en este apartado solamente pueden instalarse en las versiones NT Server, 2000 Server y 2000 Advanced Server de Microsoft Windows. Sin embargo, los servicios de impresión en red pueden instalarse en cualquier versión del sistema operativo, aunque los aspectos de configuración y administración varían considerablemente. 368 REDES DE ÁREA LOCAL RA-MA 10.2.1. Configuración de un servidor DHCP La configuración de un servidor DHCP sobre un equipo Windows NT/2000 resulta bastante sencilla, aunque hay que tener en cuenta que éste no puede asignar direcciones IP a sí mismo (por lo que deberá tener una dirección IP fija o asignada por otro servidor DHCP). En primer lugar, hay que comprobar si el servicio está instalado (si no es así, habrá que agregar ese elemento desde la utilidad de instalación de Windows correspondiente). La herramienta con la que debemos trabajar se llama Administrador DHCP (en el caso de Windows NT) o DHCP (en el caso de Windows 2000) y se encuentra dentro del menú “Herramientas administrativas”. Ésta muestra una ventana como la que aparece en la figura 10.2. Esta herramienta se utilizará para configurar el servidor y también para comprobar las direcciones asignadas a estaciones en un momento dado. Figura 10.2. Configuración de un servidor DHCP en Windows 2000. Esta utilidad resulta bastante sencilla de manejar, y permite también comprobar qué estaciones cliente tienen asignada una dirección IP por el servidor. En el servidor DHCP se debe especificar un ámbito, es decir, un rango de direcciones IP que se asigna a un conjunto de estaciones dentro de la misma subred. En el caso del servidor Windows 2000 éste puede estar creado automáticamente si se ha especificado en la instalación del sistema operativo que éste va a actuar como servidor DHCP. Es posible crear varios ámbitos para su gestión con el mismo servidor, seleccionando la opción “Ámbito || Crear”. Dentro de cada ámbito es necesario especificar la dirección IP de la subred, la máscara asociada, el rango de direcciones para asignar, las direcciones excluidas de esa asignación (utilizadas por dispositivos o estaciones que tienen una IP fija) y las direcciones que se reservan para ser asignadas siempre a las mismas estaciones60. Cuando se reserva una dirección, hay que También es posible configurar varios servidores DHCP, de forma que cada uno de ellos pueda dar servicio a una subred distinta, o a la misma subred, permitiendo así el funcionamiento en caso de averías. 60 RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 369 especificar en qué estación será utilizada, por lo que se debe identificar mediante su nombre NetBIOS y/o su dirección MAC61. La figura 10.3 muestra cómo se realiza esta asignación. Figura 10.3. Reserva de una dirección IP en un servidor DHCP con Windows 2000. A esta pantalla se accede al seleccionar la opción “Nueva reserva” del menú principal desde la carpeta Reservas del árbol. 10.2.2. Configuración de un servidor DNS La configuración de un servidor DNS en Windows NT/2000 (y, en general, para cualquier otro sistema operativo que lo soporte) resulta un poco más compleja, debido a la especificación del protocolo. Esta configuración se realiza a través de la utilidad Administrador DNS (Windows NT) o DNS (Windows 2000) accesible desde el menú “Herramientas administrativas”. La ventana principal de este programa aparece en la figura 10.4. Si no encuentra esta aplicación, deberá instalarla utilizan-do las herramientas correspondientes (las propiedades del icono “Red”, página “Servicios” en Windows NT y el asistente para componentes de Windows en Windows 2000). En la ventana principal del administrador del servidor DNS se muestra la configuración para zonas de búsqueda directa (conversiones de nombres a direcciones IP) y zonas de búsqueda inversa (conversiones de direcciones IP a nombres). Siempre se recomienda que el servidor DNS tenga configurada una dirección IP estática. Cuando se reservan direcciones para estaciones Windows, basta con especificar su nombre NetBIOS o su dirección MAC. Sin embargo, si las estaciones cliente no son Windows, entonces es obligatorio especificar la dirección MAC, puesto que no existe ninguna otra información de identificación que se pueda usar. 61 370 REDES DE ÁREA LOCAL RA-MA Figura 10.4. Ventana de configuración de un servidor DNS en Windows 2000. La ventana que aparece aquí muestra un servidor DNS que administra una zona de la organización. Sin embargo, la primera vez que se inicia este programa no muestra ningún dominio definido. Como se puede observar, en la ventana de la figura 10.4 aparece parte de la estructura jerárquica en que están organizados los nombres de dominio. Puede verse el nombre del equipo que hace de servidor DNS, la raíz del árbol (nombrada con un punto “.”) y el dominio de la organización, dominio.local. Cuando se trabaja bajo un servidor Windows que funciona como controlador de dominio, el servicio DNS se puede integrar con el directorio activo, de forma que su configuración se realiza de forma automática. En caso de que el equipo no sea controlador de dominio o se desee definir y administrar dominios y subdominios registrados, entonces será necesario realizar la configuración del servicio de forma manual. Los pasos para configurar una nueva zona y un nuevo dominio son los siguientes: 1. Una vez abierto el administrador DNS, hay que comprobar si se ha agregado algún servidor a la lista de servidores DNS. Normalmente deberá añadirse el servidor sobre el que estamos trabajando, aunque hay que tener en cuenta que con esta utilidad también se pueden administrar otros servidores DNS de forma remota. Para ello, hay que seleccionar la opción del menú principal “Acción || Conectar con el equipo”. En la ventana “Seleccionar el equipo de destino” tenemos dos opciones: “Este equipo” (para seleccionar el equipo local como servidor DNS) o “El siguiente equipo” (si queremos administrar un equipo remoto como servidor DNS). Finalmente, hay que marcar la casilla de verificación “Conectarse a este equipo ahora” y pulsar el botón “Aceptar”. RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 371 2. Seleccionar la carpeta Zonas de búsqueda directa que cuelga del servidor en el árbol de la parte izquierda de la ventana y pulsar en la opción del menú principal “Acción || Crear zona nueva”. Aparecerá la primera ventana del asistente para crear zonas de búsqueda directa; solamente hay que seguir los pasos que indique. 3. Seleccionar la carpeta Zonas de búsqueda inversa que cuelga del servidor en el árbol de la parte izquierda de la ventana y pulsar en la opción del menú principal “Acción || Crear zona nueva”. Aparecerá la primera ventana del asistente para crear zonas de búsqueda inversa. Los pasos para añadir un servidor secundario a una zona existente son: 1. Una vez más, desde el administrador DNS, comprobar si se ha agregado el servidor que se desea configurar como secundario a la lista de servidores DNS. Si no es así, hay que utilizar la opción del menú principal “Acción || Conectar con el equipo”. 2. Asegurarse de que el servidor principal de la zona se encuentra activo, además de que el servidor que queremos configurar como secundario tiene acceso a la red. 3. Seleccionar la opción del menú principal “Acción || Crear zona nueva”. Hay que seguir las instrucciones del asistente que aparece, salvo que hay que seleccionar “Secundaria estándar” como tipo de zona. Finalmente, también se puede configurar un servidor DNS para que obtenga solamente correspondencias de otros servidores de la red (y no actúe como servidor primario o secundario de una zona). Para ello, hay que seguir estos pasos: 1. Desde el administrador DNS, comprobar si se ha agregado el servidor que se desea configurar como secundario a la lista de servidores DNS. Si no es así, hay que utilizar la opción del menú principal “Acción || Conectar con el equipo”. 2. No hay que asignar ninguna zona al servidor. Solamente hay que comprobar la lista de sugerencias de raíz del servidor (es decir, las direcciones de los servidores DNS raíz desde donde va a obtener las correspondencias). Para ello, hay que seleccionar el servidor y pulsar en la opción del menú principal “Acción || Propiedades”. Después hay que entrar en la página “Sugerencias de raíz” donde se pueden agregar, modificar o eliminar servidores raíz. Para crear un dominio dentro de una zona, hay que seleccionar ésta dentro de la carpeta Zonas de búsqueda directa y pulsar en la opción del menú principal “Acción || Dominio nuevo”. Solamente habrá que introducir el nombre del dominio y pulsar en el botón “Aceptar”. 372 REDES DE ÁREA LOCAL RA-MA Es posible configurar una gran cantidad de parámetros relativos al funcionamiento del servidor DNS. Algunos de los más importantes son: • En cada servidor es posible detener o reiniciar el servicio DNS. Para ello, hay que seleccionar el servidor de la lista y acceder a la opción del menú principal “Acción || Todas las tareas”. • Podemos establecer qué direcciones de otros servidores DNS pueden realizar consultas a éste (por defecto, puede ser cualquiera). Esto se hace seleccionando el servidor y pulsando en la opción del menú principal “Acción || Propiedades”. La opción se llama “Sólo las siguientes direcciones IP” y se encuentra en la página “Interfaces”. • También pueden establecerse direcciones de servidores para realizar envío recursivo de consultas que no pueden ser resueltas por éste. Para ello, hay que abrir la ventana de propiedades del servidor (seleccionándolo y pulsando en la opción del menú principal “Acción || Propiedades”) y mostrar la página “Reenviadores”. En ella, hay que activar la opción “Habilitar reenviadores” e incluir la direcciones de reenvío de los servidores DNS. • Es posible habilitar transferencias de zona rápidas en el servidor. Esta opción está accesible en la ventana de propiedades del servidor, página “Avanzada”. En la opción titulada “Opciones del servidor” hay que desmarcar la casilla de verificación “Secundarios BIND”. Hay que tener en cuenta que este modo de funcionamiento no es compatible con las versiones de los servidores DNS BIND de Linux anteriores a la 4.9.4. • En las “Opciones del servidor” de la página “Avanzada” en la ventana de propiedades del servidor también hay otros parámetros interesantes: “Deshabilitar recursividad” (para impedir que el servidor realice consultas recursivas a otros), “Asegurar caché contra corrupción” (impedir que aparezcan datos corruptos en la caché de consultas), “Habilitar orden de máscara de red” (para ordenar por máscara las direcciones IP devueltas en caso de que el equipo que tiene el nombre tenga más de un adaptador de red) y “Error de carga si los datos de zona no son válidos” (impide la utilización de datos procedentes de transferencias de zonas erróneas). También es posible configurar una gran cantidad de parámetros relativos al comportamiento de las zonas creadas. Algunos de los más importantes son: • El cambio del tipo de zona se realiza accediendo a la ventana de propiedades de la zona (seleccionando la zona y pulsando en la opción del menú principal “Acción || Propiedades”), página “General”, usando el botón “Cambiar”. RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 373 • Puede establecerse el inicio de autoridad (también llamado SOA) para indicar cuál es el servidor DNS que tiene autoridad sobre esa zona. Para ello, hay que acceder a la ventana de propiedades de la zona, en la página “Inicio de autoridad (SOA)”. • En caso de que el servidor sea secundario, para indicar cuál es el servidor primario de la zona, hay que acceder a la ventana de propiedades de la zona, página “General”, opción “Dirección IP” . • La lista de servidores DNS a los que se les notifica del cambio en la zona se establece en la ventana de propiedades de la zona, página “Transferencias de zona”. Usando el botón “Notificar”, hay que activar la casilla de verificación “Notificar automáticamente” e incluir los nombres o direcciones IP de los servidores DNS a los que se les va a notificar. • Desde un servidor principal se puede establecer el intervalo de actualización de zona de los servidores secundarios. Para ello, hay que acceder a la ventana de propiedades de la zona, página “Inicio de autoridad (SOA)”. El valor se establece en el campo “Intervalo de actualización”. También puede establecerse el “Intervalo de reintento” en caso de fallo o la caducidad de la información en “Caduca después del”. • Puede iniciarse una transferencia de zona desde un servidor secundario seleccionando la zona correspondiente y pulsando en la opción del menú principal “Acción || Transferir desde el principal”. • Para un dominio o subdominio, se puede delegar el control a otra zona. Esta operación se debe realizar en varios pasos: 1. Crear la zona de delegación. 2. Agregar los dominios que se desean delegar a esa zona. 3. Seleccionando el dominio a delegar, seleccionar la opción del menú principal “Acción || Nueva delegación”. • Es posible establecer cuáles son los servidores DNS autorizados para realizar consultas a la zona. Éstos se especifican en la ventana de propiedades de la zona, página “Servidores de nombres”. • Para los servidores primarios de zona, es posible configurar las actualizaciones dinámicas, desde la ventana de propiedades de la zona, página “General”. La opción se llama “¿Desea permitir actualizaciones dinámicas?” (puede establecerse al valor Sólo actualizaciones seguras). • Si se desea que DNS utilice también la resolución WINS, hay que abrir la ventana de propiedades de la zona, página “WINS”. En ella, hay que activar las casillas de verificación “Usar búsqueda directa WINS” y “Usar búsqueda inversa WINS”, además de especificar la dirección IP del servidor WINS. 374 REDES DE ÁREA LOCAL RA-MA Como se indicó en el capítulo 6, la información de cada zona está compuesta por registros de recursos, que guardan correspondencias entre direcciones de nombres y direcciones IP de equipos. En primer lugar, hay que crear un nuevo registro para la zona seleccionando ésta y pulsando en la opción del menú principal “Acción || Otros registros nuevos”. Las operaciones que se pueden realizar con estos registros son: • Agregar un nuevo registro A o registro de dirección de equipo (seleccio- nando la zona dentro de la carpeta Zonas de búsqueda directa y pulsando en la opción del menú principal “Acción || Nuevo host”). Los parámetros a introducir son: nombre DNS, dirección IP y si se desea crear un registro PTR para resolución inversa. • Agregar nuevo registro de alias o CNAME, que es otro nombre aplicable a un equipo (seleccionando la zona dentro de la carpeta Zonas de búsqueda directa y pulsando en la opción del menú principal “Acción || Alias nuevo”). Aquí solamente se especifica el alias y el nombre de dominio del equipo. • Agregar un nuevo registro de puntero o PTR para resoluciones inversas (seleccionando la zona dentro de la carpeta Zonas de búsqueda inversa y pulsando en la opción del menú principal “Acción || Nuevo puntero”). Hay que especificar la dirección IP del equipo y su nombre de dominio completo. • Modificar un registro seleccionándolo en la ventana que aparece en la parte derecha del administrador DNS y pulsando en la opción “Acción || Propiedades”. • Eliminar un registro seleccionándolo en la ventana que aparece en la parte derecha del administrador DNS y pulsando en la opción “Acción || Eliminar”. Se pueden utilizar varias herramientas y comandos para monitorizar el estado del servidor DNS y solucionar posibles problemas de funcionamiento. Podemos utilizar el comando ipconfig con las siguientes opciones: /displaydns (para ver la caché de correspondencias), /flushdns (vacía la caché de correspondencias) y /registerdns (renueva el registro del DNS). También se puede utilizar el comando nslookup, que ofrece muchas opciones de consulta de un servidor DNS remoto. 10.2.3. Configuración de un servidor WINS Para configurar un servidor WINS en Windows 2000, hay que comprobar en primer lugar si ese servicio se encuentra instalado. Para ello, hay que abrir el asistente para componentes de Windows (desde el menú de inicio seleccionar “Configuración || Panel de control || Agregar o quitar programas || Componentes de Windows”) y mostrar la página de detalles de los componentes de red donde se encuentra el servicio WINS. Si la casilla de verificación de este servicio no se encuentra marcada, entonces RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 375 hay que activarla, pulsar sobre botón “Siguiente” e introducir el disco de instalación de Windows 2000. La instalación del servicio WINS en Windows NT se realiza desde las propiedades del icono “Red” del escritorio o el panel de control. En esta ventana hay que seleccionar la página “Servicios” y pulsar en el botón “Agregar...”. En la lista de servicios que aparece hay que seleccionar “Servicio de nombres de Internet para Windows” y pulsar el botón “Aceptar”. Finalmente, el sistema solicitará el disco de instalación de Windows NT. La configuración de un servidor WINS se realiza a través de la utilidad Administrador WINS (Windows NT) o WINS (Windows 2000) accesible desde la opción “Herramientas administrativas” del menú de inicio. La figura 10.5 muestra esta utilidad sobre el servidor Windows 2000. Figura 10.5. Ventana principal de configuración del servidor WINS en Windows 2000. En esta ventana todavía no se ha añadido ningún servidor WINS. Lo primero que hay que hacer desde esta herramienta es añadir un servidor WINS para su administración. Puede ser el servidor local u otro servidor de la red. Para ello, hay que acceder al menú principal y seleccionar la opción “Acción || Agregar servidor”. Desde la opción del menú principal, “Acción || Todas las tareas”, se puede parar o reiniciar el servidor WINS seleccionado. Es posible modificar los siguientes parámetros de configuración del servidor desde su ventana de propiedades (seleccionando el servidor y pulsando en la opción “Acción || Propiedades”): • Página “Intervalos”: Intervalos de renovación, caducidad y comprobación de los registros de nombres. 376 REDES DE ÁREA LOCAL RA-MA • Página “Avanzada”: “Registrar los sucesos detallados en el registro de sucesos de Windows” (registrar información detallada de sucesos), “Habilitar el control de ráfagas” (se utiliza para gestionar una gran cantidad de peticiones de registro WINS que envían las estaciones a la vez) y “Ruta de acceso a la base de datos” (especifica el archivo y carpeta donde se encuentra la base de datos). Es posible realizar copias de seguridad de la base de datos de correspondencias WINS gracias a la opción del menú principal “Acción || Copia de seguridad de base de datos”. Esta copia se puede restaurar posteriormente en el servidor (mediante la opción “Acción || Restaurar la base de datos”). También es posible consultar los registros de correspondencias WINS seleccionando el icono “Registros activos” de la herramienta de administración. Después hay que seleccionar la opción del menú principal “Acción || Buscar por nombre” o “Acción || Buscar por propietario”. Una vez mostrados los registros, puede obtenerse la lista de propiedades de uno de ellos seleccionándolo y marcando la opción del menú principal, “Acción || Propiedades”. También puede eliminarse ese registro seleccionando la opción del menú principal “Acción || Eliminar”. Además de los registros dinámicos, el servidor WINS también puede configurar entradas de correspondencias estáticas. Para crear una nueva, hay que seleccionar el icono “Registros activos” del administrador WINS y pulsar en la opción del menú principal, “Acción || Asignación estática nueva”. En estos registros hay que especificar el nombre NetBIOS del equipo, el tipo y la dirección IP. 10.2.4. Servicios de impresión en red La gestión de impresión en red se puede realizar desde una estación con cualquiera de las versiones de Microsoft Windows desde la 95. Sin embargo, si se desea que el sistema soporte un mayor número de usuarios imprimiendo a la vez u otras opciones avanzadas, entonces habrá que optar por instalar las impresoras en un servidor Windows NT/2000. La configuración de una impresora compartida en Windows 9x/ME/NT Workstation/2000 Professional resulta bastante sencilla. Una vez que se han instalado los controladores, la impresora aparece en la carpeta Impresoras y, accediendo a su menú contextual (pulsando con el botón derecho del ratón sobre ésta) y seleccionando la opción “Compartir”, el recurso estará disponible para el resto de usuarios de la red. La figura 10.6 muestra la ventana de compartición de impresoras en Windows 98. RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 377 Figura 10.6. Configuración de una impresora compartida en Windows 98. Se puede observar que esta ventana es muy parecida a la encargada de gestionar carpetas compartidas en Windows. Hay que tener en cuenta que la operación de instalación de una impresora dotada de adaptador de red en Windows 9x no puede realizarse directamente ya que este sistema operativo no tiene soporte en estos casos. Para resolver este problema, hay que instalar el soporte para impresoras de este tipo que puede ser suministrado por Microsoft o por el fabricante del adaptador de red. Por su parte, la configuración de una impresora compartida no resulta complicado en un entorno Windows NT Server. Los pasos que seguiremos son: 1. Hacer doble clic sobre el icono “Agregar impresora” de la carpeta Impresoras (accesible desde el menú Inicio en la opción “Configuración || Impresoras”). 2. Una vez iniciado el asistente, especificar si la impresora está conectada a un puerto del equipo local (opción “Mi equipo”) o si está conectada a otro equipo de la red o tiene una tarjeta de red propia (opción “Servidor de impresora de red”). 3. Si se ha seleccionado la opción “Mi equipo”, lo siguiente es especificar el puerto al que está conectada la impresora (LPT1, LPT2..., COM1, COM2...). 378 REDES DE ÁREA LOCAL RA-MA 4. Si se ha seleccionado la opción “Servidor de impresora de red”, lo siguiente es especificar la localización de la impresora en la red (a través de su nombre UNC). 5. Seguidamente, se especifica el fabricante y modelo de la impresora, para que el sistema instale el controlador de dispositivo adecuado (es posible que solicite el disco de instalación suministrado por el fabricante). 6. A continuación hay que asignarle un nombre de hasta 32 caracteres a la nueva impresora, y si es o no la predeterminada para el sistema local (si no es la primera que se ha instalado). 7. Finalmente, se especifica si la impresora va a ser de uso privado o compartida en la red (y el sistema operativo de las estaciones que tendrán acceso al recurso). Una vez que se pulse el botón “Finalizar”, el icono de la impresora aparecerá en la carpeta “Impresoras”. La configuración de los parámetros de la impresora de red instalada se realiza desde la opción “Propiedades” del menú contextual de ésta. En Windows NT Server se puede especificar el intervalo de tiempo en que la impresora está disponible y cuándo no. La instalación de una impresora y sus controladores en Windows 2000 se realiza de la misma forma que en otras versiones, a través del icono “Impresoras” del Panel de control. Automáticamente, el equipo se convierte en servidor de impresión para ese recurso (a no ser que la impresora tenga instalado su propio adaptador de red, en cuyo caso el equipo se utilizará como administrador de la impresora y un simple redirector de trabajos). Los pasos a seguir para instalar la impresora son: 1. Acceder a la carpeta de impresoras instaladas a través del panel de control o la opción “Inicio || Configuración || Impresoras”. 2. Hacer doble clic en el icono “Agregar impresora”. 3. Pulsar el botón “Siguiente” y en la ventana del asistente que aparece marcar el botón de opción “Impresora local”. La opción “Impresora de red” se utiliza para agregar una impresora compartida por otro equipo. También hay que marcar la casilla de verificación “Detectar e instalar mi impresora Plug and play automáticamente” para impedir que vuelva a ser detectada de nuevo en el arranque del sistema. 4. Seleccionar el puerto donde está conectada la impresora. Si se trata de una impresora conectada directamente a la red, hay que pulsar en el botón “Crear nuevo puerto” y seleccionar el tipo “Standard TCP/IP Port” en la lista que aparece. En este caso, habrá que especificar la dirección IP de la impresora o su nombre de dominio (si tiene). RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 379 5. Seleccionar el fabricante y modelo de impresora si es que el sistema no lo ha detectado de forma automática y pulsar en el botón “Siguiente”. 6. Introducir el nombre que va a identificar esta impresora en el equipo local y pulsar en el botón “Siguiente”. 7. Ahora aparecerá la ventana para compartir la impresora (si la instalación se realiza en Windows 2000 Server). Si no se desea que otros usuarios puedan imprimir en ella, habrá que seleccionar la opción “No compartir esta impresora”. 8. Seguidamente, el sistema solicitará que se introduzca la ubicación de la impresora y un texto de comentario sobre ella. Pulsar en el botón “Siguiente”. 9. Por último, se pregunta si se desea imprimir una página de prueba. Pulsar en la opción “Sí” con el propósito de comprobar que el dispositivo se ha instalado correctamente. Figura 10.7. Ventana de propiedades de una impresora en Windows 2000. Esta impresora está conectada a una estación Windows 98, pero puede administrarse desde un servidor Windows 2000. Su nombre UNC es \\Paquito\Epson. 380 REDES DE ÁREA LOCAL RA-MA Figura 10.8. Ventana para configurar los permisos de acceso a una impresora en Windows 2000 Server. Como se puede observar, es posible establecer qué usuarios y grupos tienen derechos para acceder al recurso. Tanto Windows 2000 Server como Windows 2000 Professional pueden funcionar como servidores de impresión. Windows 2000 Server no está limitado en el número máximo de conexiones que se pueden realizar al recurso y además soporta clientes Windows, Macintosh y NetWare. Sin embargo, Windows 2000 Professional solamente soporta clientes Windows y un máximo de 10 conexiones simultáneas. Por su parte, la configuración y administración de impresoras en Windows 2000 Server se realiza siempre a través del servicio de directorios. Una impresora aparece en el directorio activo como un objeto cola de impresora. Para establecer las directivas de grupo relacionadas con los permisos de impresión sobre un objeto contenedor, hay que seguir los siguientes pasos: 1. Entrar en la utilidad Usuarios y equipos de Active Directory. 2. Pulsar con el botón derecho sobre el contenedor (unidad organizativa, dominio o sitio) sobre el que se desea aplicar la directiva y seleccionar la opción “Propiedades”. 3. Seleccionar la página “Directivas de grupo” y pulsar sobre el botón “Editar”. RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 381 4. Desplegar la carpeta Plantillas administrativas y seleccionar la carpeta Impresoras. Aparecerán los permisos que se desean modificar, como se muestra en la figura 10.9. Figura 10.9. Directivas de grupo para impresoras en Windows 2000. La lista de directivas de seguridad para el sistema de impresión en red de Windows 2000 aparece en la lista de la derecha. Como se ha visto en los pasos de instalación, las impresoras son automáticamente compartidas por el programa asistente de Windows 2000 Server que realiza todo el proceso. Sin embargo, puede ser necesario compartirla manualmente si ésta se instala en un sistema con Windows 2000 Professional. Para ello, basta con acceder a las propiedades de la impresora desde su menú contextual (figura 10.8). Si se activa la opción “Listar en el Directorio”, la impresora será añadida y publicada en el directorio. Hasta ahora hemos visto cómo instalar una impresora conectada directamente al equipo o que tiene su propio adaptador de red. Ahora vamos a explicar cómo se configura una impresora en una estación Windows que ha sido compartida por otro equipo a través de la red. Esta configuración resulta bastante sencilla, aunque hay que tener en cuenta que es necesario disponer también de los discos de instalación suministrados por el fabricante ya que el sistema operativo los va a solicitar. La configuración de una impresora que ha sido compartida a través de la red se puede realizar de dos formas: Desde el menú Inicio seleccionar “Configuración || Impresoras” (o desde el panel de control en el icono “Impresoras”), como muestra la figura 10.10. Seguidamente, hay que hacer doble clic sobre el icono “Agregar impresora”. Una vez iniciado el asistente, primero hay que indicar que la impresora no es local (seleccionando la opción “Impresora en red”) y la 382 REDES DE ÁREA LOCAL RA-MA ruta de red donde se encuentra (su nombre UNC como, por ejemplo, \\Equipo1\Impresora). Finalmente, solicitará los controladores específicos del modelo de impresora configurada. Entrar a la ventana de exploración de la red (desde el explorador de Windows o desde el icono “Red” del escritorio) y buscar el equipo donde se encuentra conectada la impresora. Una vez encontrada ésta (hay que hacer doble clic sobre el icono que representa al equipo para que aparezcan los recursos compartidos), se despliega su menú contextual (utilizando el botón derecho del ratón sobre el icono de ésta) y se selecciona la opción “Instalar...”. Al igual que en el caso anterior, el sistema solicitará los controladores específicos del modelo de impresora a configurar. Figura 10.10. Carpeta de impresoras instaladas en Windows 98. La marca en forma de V con círculo negro indica que se trata de la impresora predeterminada para el sistema local (es decir, a la que se mandan los trabajos si no se especifica otra). El fragmento de cable que aparece en los dos iconos de las otras impresoras indica que se trata de dispositivos accesibles por la red (tienen un adaptador de red que funciona como servidor de impresora o están conectadas a otro equipo). Finalmente, la mano tendida del último icono especifica que la impresora local ha sido compartida. Una vez realizado cualquiera de estos pasos, el icono de la impresora aparecerá en la carpeta Impresoras (véase la figura 10.10), indicando que se trata de un dispositivo remoto. Un equipo Windows 2000 Server también puede hacer disponibles sus impresoras compartidas para que puedan ser utilizadas por equipos Unix/Linux (a través de los servicios de impresión que utilizan y que se verán en el apartado 10.4). Para ello, hay que instalar el paquete llamado Servicios de impresión para UNIX, que se incluye en los discos de instalación del sistema operativo (véase la figura 10.11). Esto quiere decir que un equipo Unix/Linux puede acceder a esas impresoras compartidas de la misma forma que si estuvieran instaladas en otro equipo Unix/Linux. RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 383 Figura 10.11. Ventana de instalación de los servicios de impresión en Windows 2000. El programa Servicios de impresión para Unix permite que los equipos con este sistema puedan acceder a las impresoras administradas directamente por el servidor Windows 2000. Este servicio se incluye con los discos de instalación del sistema operativo. Por último, indicar que Windows 2000 también puede funcionar como servidor de impresión para clientes Novell NetWare. Para ello, el administrador debe instalar el paquete Servicios Microsoft para NetWare que se distribuye por Microsoft de forma separada al sistema operativo. Dentro de él se encuentra la utilidad Servicios de archivos e impresión para NetWare, que es la que permite que el servidor Windows 2000 funcione como servidor de impresión NetWare. 10.2.5. Terminal Server Terminal Server es un paquete incluido en los discos de instalación de Windows 2000 Server que en versiones anteriores (Windows NT) se distribuía por Microsoft de forma separada al sistema. Su función principal es la de permitir la administración remota de los servidores desde cualquier estación de trabajo. Gracias a los servicios de Terminal Server, es posible iniciar una sesión de terminal gráfico en el servidor, de forma que se utilizan los recursos de ese equipo (procesador, memoria, disco duro, etc.) en lugar de utilizar los recursos locales. La impresión que tiene el usuario cuando utiliza este tipo de servicios es que ha iniciado una sesión directamente en el servidor y, por lo tanto, tiene a su disposición la gran capacidad de proceso que caracteriza a estos equipos. 384 REDES DE ÁREA LOCAL RA-MA El concepto de Terminal Server es muy parecido a los programas emuladores de terminal que se utilizan en sistemas Unix/Linux, aunque en este caso las sesiones que se inician son siempre en modo gráfico. Para más información sobre el concepto de terminal remoto, consulte el capítulo 6, apartado 6.3.2. Los servicios de Terminal Server se incluyen con la instalación del sistema operativo o a través de la herramienta Asistente para componentes de Windows, si es que el servidor ya ha sido instalado. Hay que tener en cuenta que las aplicaciones que se deseen utilizar con Terminal Server deben instalarse posteriormente a este servicio. La instalación de Terminal Server permite seleccionar dos modos: ⌦ Modo de administración remoto: Debe seleccionarse cuando se va a utilizar Terminal Server para la administración remota del servidor. ⌦ Modo de servidor de aplicaciones: Se utiliza para que los usuarios puedan ejecutar programas instalados en el servidor. En cuanto al cliente del servicio de Terminal Server, hay que indicar que soporta una gran variedad de sistemas operativos, como son MS-DOS y Windows CE/3.11/9x/Me/NT/2000. Su instalación puede realizarse creando la utilidad en disquetes o en una carpeta compartida para el acceso desde la red, siguiendo estos pasos: 1. Abrir la utilidad Creador de Clientes de Servicios de Terminal Server en la opción “Inicio || Programas || Herramientas administrativas”. 2. Seleccionar el tipo de cliente que se desea crear, la unidad de disco de destino (normalmente A:) y pulsar “Aceptar”. 3. A partir de ahí, el programa solicitará el primer disco y todos los demás conforme se vayan copiando. 10.2.6. Servidores FTP y Web: IIS Windows NT/2000 permite la instalación de un servidor de archivos FTP y Web mediante la utilidad incluida en los discos de instalación denominada IIS (Internet Information Server o Servidor de Información de Internet). Esta utilidad solamente puede instalarse en versiones Windows NT Server, 2000 Server y 2000 Advanced Server que, evidentemente, tengan configurado el acceso a la red TCP/IP. Es posible comprobar si IIS se encuentra instalado en el equipo consultando la página “Servicios” de las propiedades de red en Windows NT o en la herramienta de instalación de componentes de Windows accesible desde el Panel de control de Windows 2000. En ellas, deberá aparecer un icono con el nombre “Microsoft Internet Information Server” en la lista de elementos instalados. RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 385 En caso de que el servicio no se encuentre instalado en su equipo, deberá seguir estos pasos: 1. Desde la ventana anterior, pulsar en el botón “Agregar” (Windows NT) o seleccionar el componente a instalar (Windows 2000) y seleccionar el servicio Microsoft Internet Information Server. También se puede hacer desde el icono de instalación de IIS que suele encontrarse en el escritorio. 2. Durante los pasos de instalación se le pedirá que seleccione los elementos de IIS que desea instalar. Los más importantes son: Administrador del servicio de Internet (es la utilidad principal de administración de IIS), Servicio World Wide Web (servidor web) y Servicio FTP (servidor de archivos). La figura 10.12 muestra los servicios que pueden instalarse con IIS para Windows 2000. 3. Finalmente, en el caso de la instalación del servicio IIS en Windows NT, se pide especificar las carpetas que se van a utilizar para compartir los archivos de los servicios Web y FTP. Se recomienda utilizar carpetas que solamente contengan la información que se desea compartir (archivos y páginas web), ya que cualquier usuario podrá acceder a ellas desde el exterior. También se recomienda que esas carpetas se encuentren en una partición NTFS, lo que permitirá llevar a cabo un mejor control de la seguridad. Para IIS de Windows 2000 estas carpetas se configuran al establecer el servicio. Figura 10.12. Servicios incluidos en el IIS de Windows 2000. Los más importantes son el servidor FTP y el servidor Web. En anteriores versiones de IIS se incluía un servidor Gopher, pero este tipo de servicios prácticamente no se usa en la actualidad. 386 REDES DE ÁREA LOCAL RA-MA La herramienta principal para gestionar los servicios de IIS en Windows 2000 es el Administrador de servicios de Internet, accesible desde el menú de inicio del sistema en la opción “Programas || Herramientas administrativas || Administrador de servicios de Internet”. La ventana principal de esta utilidad aparece en la figura 10.13. Figura 10.13. Ventana principal del administrador de servicios de Internet que se distribuye con Windows 2000. Esta ventana muestra sitios Web y FTP predeterminados, ya que todavía no se ha definido ningún otro por el administrador. La configuración del servidor Web o FTP resulta sumamente sencilla en Windows 2000 gracias a la inclusión de varios asistentes en el IIS. En primer lugar, hay que añadir el servidor a la lista del administrador de IIS (puede ser el equipo local u otro equipo remoto). Después, hay que crear el sitio Web o FTP mediante la opción del menú principal “Acción || Nuevo” (manteniendo el icono del servidor seleccionado). El servidor IIS de Windows 2000 es capaz de administrar varios sitios Web y FTP situados en el equipo local o en otros equipos remotos. Seguidamente se explicarán los pasos necesarios para configurar un sitio FTP y un sitio Web, además de los parámetros que entran en juego en ambos casos. Cuando se crea un nuevo sitio FTP, hay que especificar al asistente los siguientes parámetros: 1. Breve descripción del sitio (para que el administrador pueda identificarlo). 2. Dirección IP y puerto de acceso al sitio (por defecto aparece la dirección IP del servidor y el puerto 21 que es el estándar). 3. Carpeta usada para el servicio (desde donde colgará toda la estructura). 4. Permisos de acceso de los usuarios al sitio (normalmente suele ser solamente Lectura). RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 387 Por su parte, cuando se crea un nuevo sitio web, hay que especificar al asistente los siguientes parámetros: 1. Breve descripción del sitio (para que el administrador pueda identificarlo). 2. Dirección IP y puerto de acceso al sitio (por defecto aparece la dirección IP del servidor y el puerto 80 que es el estándar). 3. Carpeta usada para el servicio (donde se incluirán los archivos de páginas HTML y otro tipo de documentación). Aparece también una casilla de verificación que especifica si se permiten accesos anónimos al sitio. 4. Permisos de acceso de los usuarios al sitio (normalmente suele ser Lectura y Ejecutar secuencias de comandos). Desde el administrador de servicios de Internet se pueden parar y reanudar en cualquier momento los servicios configurados y los sitios creados. Para ello, se pueden utilizar los botones que se encuentran en la barra de herramientas de la utilidad o a través de la opción “Acción” del menú principal. Cuando se crea un nuevo sitio web, el administrador lo configura automáticamente e incluye en él varias páginas de muestra que pueden consultarse. Entre ellas, se encuentra el archivo index.html que constituye la página principal. Así, cualquier navegador que acceda al sitio siempre intentará abrir, por defecto, la página que se encuentra en este archivo. 10.3. OTROS SERVICIOS DE RED EN LINUX En este apartado se explican algunos servicios adicionales disponibles en los equipos con sistema operativo Linux. Algunos de ellos ya se introdujeron en el capítulo 8 (los relacionados con la gestión de archivos en red). 10.3.1. Configuración de un servidor DHCP La configuración de un servidor DHCP resulta bastante sencilla en Linux, aunque hay que tener en cuenta que éste no puede asignar direcciones IP a sí mismo (por lo que deberá tener una dirección IP fija o asignada por otro servidor DHCP). Además, es necesario instalar el paquete rpm que contiene el proceso servidor DHCP y todos los archivos de configuración necesarios. Seguidamente, deberá añadir una dirección DNS que especifique cuál es la IP asignada para difusión en la red (que es la IP 255.255.255.255 donde se envían las peticiones DHCP), mediante el comando: $ route add -host 255.255.255.255 /dev/eth0 388 REDES DE ÁREA LOCAL RA-MA Equivalente al comando anterior es editar el archivo /etc/hosts e incluir en él la línea (respetando los tabuladores de las líneas que ya aparecen) 255.255.255.255 all ones y ejecutar los comandos: $ route add -host all -ones /dev/eth0 $ route add 255.255.255.255 /dev/eth0 Ahora hay que editar el archivo /etc/dhcpd.conf para incluir lo siguiente (las líneas precedidas de “#” se consideran comentarios que el sistema ignora): default-lease-time 600; max-lease-time 7200; # # Aquí se incluye una definición de ámbito (puede # haber más): subnet 10.0.8.0 netmask 255.255.255.0 { range 10.0.8.6 10.0.8.254; option subnet-mask 255.255.255.0; option broadcast-address 10.0.8.255; option routers 10.0.8.2; option domain-name-servers 10.0.8.3, 10.0.8.4; option domain-name "localdomain"; } # # Si se quieren reservar direcciones IP # permanentes, hay que agregar, para cada # estación, las líneas siguientes: host ravel { hardware ethernet 00:40:33:2e:c0:03; fixed-address 10.0.8.10; } Para iniciar el programa residente del servidor DHCP, hay que ejecutar los siguientes comandos: $ touch /var/state/dhcp/dhcpd.leases $ ./usr/sbin/dhcpd eth0 El archivo /var/state/dhcp/dhcpd.leases contiene las asignaciones de direcciones que en un momento dado realiza el servidor. Para más información sobre el servicio dhcpd, puede consultar las páginas del manual mediante el comando: $ man dhcpd Finalmente, se puede utilizar el comando siguiente para consultar las direcciones asignadas a estaciones cliente DHCP: $ arp -an RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 389 10.3.2. Configuración de un servidor DNS La traducción de direcciones de dominio a direcciones IP en un equipo Linux la realiza el paquete BIND (Berkeley Internet Name Domain o Dominio de Nombres de Internet de Berkeley). Dentro de este paquete se encuentra el demonio named, que es el encargado de recibir y atender las peticiones y actualizar las tablas de nombres de dominio. Existen varias versiones del paquete BIND. Actualmente se incluyen las versiones 8.x y 9.x con las últimas distribuciones de Linux. Si se dispone de una configuración de BIND anterior (4.x), es posible ejecutar un programa shell-script que actualiza todos los archivos de configuración a las nuevas versiones, llamado /src/bin/named/named-bootconf. Aquí nos centraremos en la versión 8.1 de BIND. El inicio del demonio named se realiza de forma automática estableciendo el valor yes del parámetro START_NAMED en el archivo /etc/rc.config o ejecutando el siguiente comando como root: $ rcnamed start Otros modificadores de este comando son status, para comprobar el estado del demonio, reload, para reiniciar el demonio cuando se modifican sus archivos de configuración y stop, para pararlo. Hay dos opciones de configuración del servidor DNS en Linux (como se vio en el capítulo 6, apartado 6.3): Como caché de nombres exclusivamente: El demonio named recibe las solicitudes y busca en la caché las correspondencias. Si no están, envía esas solicitudes para que otros servidores DNS las resuelvan. En este servidor no se define ninguna zona. Como servidor de zona: En el servidor se ha definido, al menos, una zona, de forma que éste resuelve las correspondencias del dominio de ella. Para otros dominios, el servidor funciona como una caché de nombres. La definición de las zonas debe realizarse en los archivos de configuración de named, como se explica a continuación. La configuración general de named se realiza en el archivo por defecto /etc/named.conf (en las versiones 4.x de BIND era /etc/named.boot). Decimos por defecto ya que puede utilizarse otro nombre y localización distintos (utilizando el modificador -b o -c del comando named). Existen otros archivos de configuración adicionales que se verán a continuación. El archivo /etc/named.conf está formado básicamente por secciones acabadas en punto y coma “;”. Éstas pueden aparecer más de una vez dentro de él (excepto las secciones logging y options). La especificación completa de los parámetros de este archivo no se incluye en este libro por cuestiones de espacio; podrá encontrarla 390 REDES DE ÁREA LOCAL RA-MA introduciendo la orden man named.conf en la línea de comandos de la ventana del terminal o consultando los archivos de ejemplo que se incluyen con el paquete y que están situados en la carpeta /usr/share/doc/packages/bind8/. Las secciones en que está dividido named.conf son: logging: Especifica qué mensajes notifica el servidor y a dónde los envía. options: Controla la configuración global del servidor. Algunas opciones importantes que pueden establecerse también a zonas específicas son: • directory: Directorio de trabajo del servidor. • recursion (“yes”/“no”): Indica si las peticiones de resolución de direcciones son recursivas (es decir, se envían de unos servidores a otros hasta que se resuelva la dirección). • allow-query: Especifica las direcciones IP de servidores DNS que pueden solicitar una consulta de dirección a éste. • allow-transfer: Especifica las direcciones IP de servidores DNS que pueden recibir una transferencia de zona de éste. • blackhole: Especifica las direcciones IP de equipos que pueden enviar consultas y a las que el servidor no contestará. • query-source: Indica las direcciones IP y puertos de otros servidores de nombres que consultará en caso de no conocer la dirección a resolver. • cleaning-interval: Especifica el intervalo de tiempo en el que las correspondencias obtenidas permanecen en la caché del servidor antes de ser eliminadas. Este parámetro tiene un valor por defecto de 60 minutos. • forward: Se establece al valor first para indicar que primero se consultan los servidores de la lista forwarders y después la busca por sí mismo si no obtiene respuesta; o al valor only, para consultar solamente los especificados en forwarders. • forwarders: Especifica las direcciones IP de servidores DNS a los que enviar consultas para resolver. • notify: Indica si el servidor notifica a otros servidores DNS que hay cambios en algunos nombres de equipos de la zona. Este mensaje permite a los servidores DNS realizar una transferencia de zona para actualizar sus correspondencias de inmediato. RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 391 zone: Define una zona (no se utiliza esta sección si el servidor se va a configurar como caché de nombres exclusivamente). Los parámetros principales son: nombre de zona, tipo de dominio (se usa in para especificar un dominio de Internet) y otros parámetros adicionales. Entre esos parámetros, hay que destacar file, que se refiere al archivo donde se guarda la información de la zona y type, que especifica el tipo de zona a definir. Existen varios tipos de zonas: • master: El servidor tiene una copia maestra de las corresponden- cias DNS de la zona. Pueden especificarse, entre otras, las opciones allow-query, allow-transfer y file (archivo donde están almacenados los registros de recursos de la zona). • slave: El servidor tiene una copia de todas las correspondencias DNS de una zona. Pueden especificarse, entre otras, las opciones allow-query, allow-transfer, transfer-source (dirección IP de los servidores DNS que pueden enviar a éste una transferencia de zona), masters (especifica las direcciones IP de los servidores DNS maestros desde donde obtiene copias de las correspondencias) y file (archivo donde es almacenada una copia de la información procedente de una transferencia de zona). • stub: Se trata de un servidor esclavo que sólo copia corresponden- cias de un servidor maestro, no de una zona entera. Pueden especificarse, entre otras, las opciones allow-query, allow-transfer, transfer-source (dirección IP de los servidores DNS que pueden enviar a éste una transferencia de zona), masters (especifica las direcciones IP de los servidores DNS maestros desde donde obtiene copias de las correspondencias) y file (archivo donde es almacenada una copia de la información procedente de una transferencia de zona). • forward: Se trata de un servidor que redirige las peticiones a otros servidores DNS. Pueden especificarse las opciones forwarders y forward para esta zona (véase la lista de opciones que aparece más arriba donde se explican estas dos). • hint: Corresponde a un servidor que posee una lista de direcciones de servidores de nombres raíz. Puede especificarse el parámetro file donde se guarda la lista de servidores raíz en forma de registros de recursos. Es necesario que exista al menos una entrada de este tipo especificando el dominio raíz “.” para poder disponer de direcciones de servidores DNS externos a nuestra red local. acl: Crea listas de control de acceso donde se especifica una lista de direcciones IP autorizadas para la consulta al servidor. Existen varias listas de control de acceso predefinidas: 392 REDES DE ÁREA LOCAL RA-MA • any: Cualquier equipo. • none: Ningún equipo. • localhost: Sólo el equipo local. • localnets: Sólo los equipos de la misma red. key: Define una clave de autenticación y un identificador asociado. trusted-keys: Define claves de seguridad de tipo DNSSEC. server: Establece ciertas opciones de configuración para servidores remotos, identificados por su dirección IP. Éstas son: • bogus: Indica que ese servidor envía resoluciones incorrectas o defectuosas. Esta opción impide que nuestro servidor envíe consultas a aquél. • transfer-format: Indica cuál es el formato de las peticiones devueltas por el servidor (one-answer para indicar que devuelve una sola respuesta y many-answers para indicar que devuelve varias respuestas empaquetadas). Solamente versiones posteriores a la 4.9.5 de BIND reconocen varias respuestas empaquetadas. • keys: Especifica un identificador de clave que se utilizará para realizar la transacción de información con el servidor remoto. controls: Declara canales de control para su uso por la utilidad ndc, de forma que el servidor DNS se puede administrar de forma remota. include: Se utiliza para incluir el archivo especificado (entre comillas dobles) en el punto donde aparece esta sentencia. No se puede utilizar dentro de las sentencias vistas anteriormente. EJEMPLO 10.1 Veamos un ejemplo de definición de zonas en el archivo /etc/named.conf: options { # Especificamos la carpeta de trabajo del # servidor DNS: directory "/var/named"; }; # Definición de la zona midominio.es: zone "midominio.es" in { type master; file "midominio.es.zona"; RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 393 }; # Definición de la zona midominio.com: zone "midominio.com" in { type slave; file "midominio.com.zona"; masters { 10.0.1.1; }; }; ... Los archivos que guardan la información de la zona se llaman archivos de zona o archivos maestros. Estos archivos son manejados por el demonio named y están formados por varias directivas más una lista de entradas de registros de recursos (en filas) que poseen varios campos. Las directivas pueden ser: $ORIGIN: Se utiliza para definir el dominio por defecto de todos los nombres del archivo donde no está especificado. $INCLUDE: Se utiliza para incluir otro archivo en el punto donde se especifica. $TTL: Establece el tiempo de vida por defecto de los registros en la caché del servidor. $GENERATE: Se utiliza para crear registros de recursos cuyos nombres se diferencian solamente en números especificados dentro de un rango (por ejemplo, server1.dominio.es, server2.dominio.es, server3.dominio.es, etc.). Esto facilita la creación de registros de recursos. Cada registro de recurso está formado por los siguientes campos: • domain: Nombre de dominio completo del equipo. El carácter @ indica que el dominio de ese nombre debe tomarse de la directiva $ORIGIN. • ttl: Tiempo de vida del registro en la caché del servidor. • class: Clase de registro. Normalmente se toma la clase de la zona donde se encuentra. • type: Tipo de registro. Puede consultarse el capítulo 6 donde se especifican los tipos de registros manejados por el DNS. • rdata: Valor del registro. Depende del tipo especificado. • comment: Comentario aclaratorio. 394 REDES DE ÁREA LOCAL RA-MA EJEMPLO 10.2 El archivo de configuración que define la zona midominio.es establecida en el ejemplo 10.1 es el siguiente: ; Definición de la zona "midominio.es" $ORIGIN midominio.es @ IN SOA linux.midominio.es ( linux.midominio.es. 42 ; versión 1D ; espera refresco 2H ; t. reintento 1W ; caducidad 2D ) ; ttl IN NS linux.midominio.es. localhost. IN A 127.0.0.1 linux IN A 10.0.1.10 servidor IN CNAME linux garcia IN A 10.0.2.5 lopez IN A 10.0.2.8 w2k IN A 10.0.1.12 toboso IN A 10.0.2.16 Se ha especificado un comentario de la zona al principio del archivo, ya que ésta deberá especificarse convenientemente en el archivo /etc/named.conf. Como se puede observar, en el dominio midominio.es existen varios equipos, cuyas direcciones IP y nombres son los siguientes: • • • • • • 127.0.0.1 (correspondiente a la dirección de loopback del equipo local). 10.0.1.10 (equipo linux con el alias servidor). 10.0.2.5 (equipo garcia). 10.0.2.8 (equipo lopez). 10.0.1.12 (equipo w2k). 10.0.1.16 (equipo toboso). En los archivos de configuración de zonas hay que incluir también el dominio reservado in-addr.arpa que se utiliza para resolver las correspondencias inversas. Delante de este dominio debe aparecer la dirección IP de red asociada con los bytes escritos en orden inverso y sin los bytes reservados para número de estación. El ejemplo 10.3 muestra una definición de resolución inversa. EJEMPLO 10.3 Veamos un ejemplo de definición de resolución inversa en el archivo de configuración /etc/named.conf: RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 395 # Definición de la zona inversa local: zone "0.0.127.in-addr.arpa" in { type master; file "127.0.0.zona"; }; Deberá existir el archivo 127.0.0.zona en la carpeta definida para named con el contenido correspondiente. Finalmente, el ejemplo 10.4 muestra una configuración completa para una definición de zona. Para comprobar el correcto funcionamiento del servidor DNS, se puede utilizar también el comando nslookup, que está implementado en Linux (también se puede ejecutar desde un equipo Windows). EJEMPLO 10.4 Supongamos que tenemos una red con la estructura de la figura 10.14, formada por dos redes conectadas por un encaminador. Disponemos de un dominio registrado empresa.es para la organización, y contaremos con que el servidor DNS se encuentra en una de las redes (también podría ser el propio encaminador el que asuma esta función). Figura 10.14. Ejemplo de configuración DNS. El encaminador tiene las direcciones 10.0.0.1 y 192.168.0.1, mientras que el equipo que va a hacer de servidor DNS se llama dns y tiene la dirección 10.0.0.2. El archivo /etc/named.conf puede contener lo siguiente: options { # Especificamos la carpeta de trabajo del # servidor DNS: directory "/var/named"; }; # Definición de la zona empresa.es: zone "empresa.es" in { type master; 396 REDES DE ÁREA LOCAL RA-MA file "empresa.es.zona"; }; # Definición de las zonas inversas: zone "10.in-addr.arpa" in { type master; file "10.zona"; }; zone "0.168.192.in-addr.arpa" in { type master; file "0.168.192.zona"; }; # Definición de la zona local: zone "localhost" in { type master; file "localhost.zona"; }; # Definición de la zona local inversa: zone "0.0.127.in-addr.arpa" in { type master; file "0.0.127.zona"; }; # Definición de la zona raíz: zone "." in { type hint; file "raiz.zona"; }; Los archivos de configuración de zona son los siguientes (en la primera línea se indica el nombre de ellos): ; Definición de la zona "empresa.es" $ORIGIN midominio.es $TTL 2D @ IN SOA admin.empresa.es ( admin.midominio.es. 42 ; versión 1D ; espera refresco 2H ; tiempo de ; reintento 1W ; caducidad 2D ) ; ttl IN NS dns.empresa.es. localhost. IN A 127.0.0.1 dns IN A 10.0.0.2 servidor IN CNAME dns equipo1 IN A 10.0.0.3 equipo2 IN A 10.0.0.4 host1 IN A 192.168.0.2 RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 397 host2 host3 IN IN A A 192.168.0.3 192.168.0.4 ; Definición de la zona "10.in-addr.arpa" $TTL 2D 10.in-addr.arpa. IN SOA empresa.es admin.empresa.es.( 42 ; versión 1D ; espera refresco 2H ; t. reintento 1W ; caducidad 2D ) ; ttl IN NS dns.empresa.es. 1 IN PTR dns.empresa.es. 2 IN PTR equipo1.empresa.es. 3 IN PTR equipo2.empresa.es. ; Definición de la zona "0.168.192.in-addr.arpa" $TTL 2D 0.168.192.in-addr.arpa. IN SOA empresa.es admin.empresa.es.( 42 ; versión 1D ; espera refresco 2H ; tiempo de ; reintento 1W ; caducidad 2D ) ; ttl IN NS dns.empresa.es. 1 IN PTR dns.empresa.es. 2 IN PTR host1.empresa.es. 3 IN PTR host2.empresa.es. 4 IN PTR host3.empresa.es. ; Definición de la zona "localhost" $TTL 2D @ IN SOA @ root ( 42 1D 2H 1W 2D ) IN NS @ IN A 127.0.0.1 ; ; ; ; ; versión espera refresco t. reintento caducidad ttl ; Definición de la zona "0.0.127.in-addr.arpa" $TTL 2D @ IN SOA localhost. root.localhost. ( 42 ; versión 1D ; espera refresco RA-MA 398 REDES DE ÁREA LOCAL 1 2H 1W 2D ) IN NS localhost. IN PTR localhost. ; t. reintento ; caducidad ; ttl Finalmente, se debe indicar que la configuración del dominio raíz en el archivo raiz.zona se obtiene por defecto en la instalación de BIND o a través del Internic. Este archivo contiene las direcciones IP de algunos servidores DNS de Internet. 10.3.3. Configuración de un servidor Telnet y FTP La configuración de un cliente Telnet o FTP resulta bastante sencilla, y bastará simplemente con instalar el programa correspondiente (en el caso de los sistemas Windows, se incluye una versión del cliente Telnet y FTP que se instala por defecto). Sin embargo, la instalación y configuración de un servidor Telnet o FTP resulta un poco más compleja, como vamos a ver a continuación. Para un equipo Linux, hay que tener en cuenta que todos los servicios de acceso remoto (Telnet, FTP, TFTP, etc.) necesitan que el proceso inetd se encuentre en ejecución en el equipo. Éste es el que recibe las peticiones de conexión y crea los procesos correspondientes para cada tipo de servicio. Para activar inetd en el sistema (y se inicie cada vez que éste se arranque), hay que acceder al archivo /etc/rc.config y poner al valor yes la línea que tiene el parámetro START_INETD. Puede consultar el capítulo 7 en donde se explica más a fondo los archivos de configuración de red en Linux. Para iniciar el servidor Telnet en el equipo Linux, primero hay que instalar este programa (utilizando cualquiera de las herramientas que aparecen explicadas en el capítulo 7, apartado 7.4.3). Después, hay que indicar al sistema que este servicio, llamado in.telnetd, está activo en el archivo /etc/inetd.conf (quitando la marca de comentario # en la línea que comienza con el texto “# telnet”). Finalmente, deberá reiniciarse el equipo para que los cambios tengan efecto. Así mismo, para iniciar el servidor FTP, también hay que instalar primero este programa (utilizando cualquiera de las herramientas que aparecen explicadas en el capítulo 7, apartado 7.4.3). Después, hay que indicar al sistema que este servicio, llamado in.ftpd, está activo en el archivo /etc/inetd.conf (quitando la marca de comentario # en la línea que comienza con el texto “# ftp”). Finalmente, deberá reiniciarse el equipo para que los cambios tengan efecto. La configuración de los servicios Telnet y FTP también pueden realizarse desde utilidades de entorno gráfico que básicamente siguen los mismos pasos explicados anteriormente y escriben los parámetros en los archivos correspondientes. En Linux Red Hat hay que acceder al icono “Service Configuration” del panel de control (la ventana principal de esta utilidad aparece en la figura 10.15), mientras que RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 399 en SuSE Linux hay que acceder al icono “Iniciar/parar servicios (inetd)” del grupo “Red/Avanzada” de YaST2. Si el demonio inetd no está activo, al acceder a estas ventanas de configuración, el sistema pregunta si desea activarlo. Figura 10.15. Ventana de configuración de los servicios de inetd en Linux Red Hat. Las casillas de verificación marcadas especifican los servicios activos en este momento en el sistema. Es posible configurar también un servicio de acceso remoto rlogin, con la ventana de que las claves de autenticación no se envían por la red. Para este servicio, la máquina cliente debe disponer de un programa rlogin para iniciar la sesión y el servidor Linux debe tener levantado el proceso in.rlogind (quitando también la marca de comentario # en la línea que comienza con el texto “# rlogin” del archivo /etc/inetd.conf). El proceso in.rlogind puede utilizar cualquiera de los siguientes archivos de configuración para especificar los usuarios autorizados (todos ellos deben encontrarse en el disco duro del servidor Linux): /etc/hosts.equiv: Contiene una lista de nombres de equipos desde donde los usuarios pueden acceder al servicio. Los nombres de los usuarios para el acceso al servicio son aquéllos que se encuentran creados en Linux excepto en usuario supervisor (root). .rhosts: Está situado en el directorio home del usuario que se va a utilizar para acceder al servidor. Si al lado de cada nombre de equipo aparece un nombre de usuario, éste se utiliza como nombre para el inicio de la sesión (si no aparece, se utiliza el nombre de usuario definido en el sistema). 400 REDES DE ÁREA LOCAL RA-MA .klogin: Está situado en el directorio home del usuario que se va a utilizar para acceder al servidor. Este archivo se utiliza para la configuración de la autenticación Kerberos, un procedimiento que encripta las contraseñas mediante claves públicas. No se explica aquí cómo se configura la autenticación Kerberos porque, aunque es muy segura, resulta bastante compleja su configuración. Por cuestiones de seguridad, el equipo Linux está configurado por defecto para no aceptar conexiones de terminal remotas utilizando el usuario root (hay que tener en cuenta que las contraseñas viajan por la red). Si se desea permitir conexiones de este tipo, hay que establecer el valor yes de la variable ROOT_LOGIN_REMOTE en el archivo /etc/rc.config. 10.3.4. Conexiones X remotas Un equipo Linux puede aceptar conexiones remotas al entorno gráfico para que los usuarios puedan iniciar sesiones de emulación de terminal X. La condición para poder realizar este tipo de conexiones es que los clientes puedan usar directamente el sistema de ventanas directamente (es decir, trabajan sobre un sistema Unix/Linux) o indirectamente a través de un programa x-terminal. Esto es debido a que el equipo cliente debe interpretar correctamente los comandos de visualización gráfica que recibe del servidor remoto. En realidad, el x-terminal es un programa que emula parte del entorno gráfico que maneja el servidor, y es necesario, por ejemplo, cuando queremos trabajar con el entorno gráfico de un servidor Linux desde un equipo Windows. Antes de explicar el mecanismo para realizar un inicio de sesión X con otro equipo, vamos a dejar claros algunos conceptos importantes. El equipo que realiza la conexión Telnet y envía los comandos se llama servidor X, mientras que el equipo que la acepta y ejecuta esos comandos se llama cliente X. El servidor es el que debe aceptar las conexiones X, mientras que el cliente es el que debe redirigir la salida de esos comandos (en forma de ventanas gráficas) al servidor. Linux dispone de dos elementos que controlan el acceso al terminal gráfico: Comando xhost, que especifica qué equipos pueden conectarse con el servidor en una sesión X. Variable de entorno DISPLAY, que indica a qué dirección IP y puerto (normalmente el 0) debe mandar los comandos para visualizar las ventanas en la sesión actual (dirección del servidor X). El comando xhost tiene la siguiente sintaxis: xhost [+ | -] [dirección_IP] RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 401 La opción “+” indica que se concede el permiso de conexión (si no se especifica dirección, se supone que es para cualquier equipo) y la opción “–” indica que se prohíbe (a todos si no se especifica una dirección). No es necesario ejecutar este comando como root. Por su parte, la variable DISPLAY contiene la dirección IP del equipo donde se muestran las ventanas gráficas. Por defecto, tiene la dirección “:0”, refiriéndose al equipo local, pero puede cambiarse a otros valores, como, por ejemplo, “10.0.18.51:0”. Si se utiliza un programa x-terminal, éste establece el valor de la variable DISPLAY como parámetro del programa o alguna opción de su menú principal. No hay que olvidar exportar la variable DISPLAY utilizando el comando export, ya que, en caso contrario, puede haber problemas con el entorno gráfico. El ejemplo 10.5 muestra una conexión de terminal X remota, junto con los comandos que hay que introducir en la línea de la ventana del terminal para conseguirlo. EJEMPLO 10.5 Supongamos que queremos realizar una conexión X remota desde un equipo Linux con otro servidor también Linux. En este caso, no es necesario utilizar ningún programa x-terminal, sino que el propio equipo ya lleva instalado un servidor X para realizar las conexiones. $ xhost +10.0.1.12 $ telnet 10.0.1.12 Welcome to Linux Red Hat 7.2 Server login: garcia password: $ DISPLAY=10.0.18.51:0 $ export DISPLAY $ xcalc $ La primera línea se utiliza para especificar que el equipo local debe aceptar conexiones X del equipo remoto que tiene la dirección IP 10.0.1.12. Las cuatro líneas siguientes establecen una conexión Telnet con el servidor Linux que tiene la dirección IP 10.0.1.12, a través del usuario garcia. Las siguientes dos líneas se utilizan para establecer el valor de la variable DISPLAY, indicando a qué equipo hay que enviar las ventanas gráficas que se muestren (en este caso, al servidor X que tiene la dirección IP 10.0.18.51). Finalmente, la última orden abre el programa de la calculadora para que se muestre en la estación 10.0.18.51, aunque este programa se ejecuta realmente en el equipo 10.0.1.12. Como se ha mencionado anteriormente, cuando se establece una conexión X a un servidor Linux desde un equipo que lleva otro sistema operativo instalado (Microsoft Windows, OS/2, etc.), es necesario utilizar un programa x-terminal que permita la emulación del entorno. Estas conexiones pueden realizarse utilizando diferentes protocolos, como XDMCP, rsh o rexec. En el primer caso, la ventana del 402 REDES DE ÁREA LOCAL RA-MA emulador de terminal mostrará el cuadro de diálogo del inicio de sesión de la misma forma que si el usuario se encontrase delante del servidor. En los otros casos, el emulador de terminal iniciará un programa en el servidor para establecer la conexión (normalmente, el programa /usr/bin/X11/xterm). Así, la sesión se iniciará como una ventana de terminal de texto convencional, pero la ejecución de los programas mostrará sus ventanas en modo gráfico (si es que estos programas funcionan realmente en este modo). Figura 10.16. Ejemplo de sesión X. El servidor X es el cliente de la conexión Telnet, mientras que el cliente X es el servidor de esa sesión Telnet. Para permitir conexiones X remotas, en el equipo Linux hay que acceder a los siguientes archivos: ⌦ /etc/rc.config: El parámetro DISPLAYMANAGER_REMOTE_ACCESS debe establecerse al valor yes. ⌦ /var/X11R6/lib/xdm/Xaccess: Este archivo contiene parte de la configura- ción del administrador de ventanas, pero, por defecto, no hay que modificar ningún parámetro. ⌦ /var/X11R6/lib/xdm/xdm_config: Hay que comentar la línea que contiene el texto “DisplayManager.requestProt:0”, incluyendo el carácter “!” al principio de ésta. Esto permite que puedan realizarse conexiones X remotas desde cualquier equipo. 10.3.5. Impresión en red con Linux Linux permite muchas opciones para acceder a impresoras compartidas de diferente forma: desde una impresora local, TCP/IP o compartida en otro equipo con Linux, Windows o Novell. Seguidamente veremos cómo acceder a estos tipos de impresoras. La configuración de una impresora local (conectada al puerto serie, paralelo o USB del equipo) se realiza desde la utilidad correspondiente a la distribución utilizada. En SuSE Linux se emplea YaST o YaST2, mientras que en Red Hat se utiliza el Panel de control. El demonio de gestión del spooler de impresión en Linux se llama lpd. Para enviar trabajos a éste, se puede utilizar el comando lpr o la opción correspondiente dentro del programa de aplicación que estemos manejando. RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 403 Los tipos de impresoras que se pueden instalar desde YaST2 son (véase la figura 10.17): ⌦ Impresora local (conectada a los puertos serie, paralelo o USB). ⌦ Impresora remota: Este tipo de impresora está conectada a un equipo que trabaja sobre TCP/IP (hay que seleccionar “Redirección de cola a LPD remoto”) o utiliza un adaptador de red (selección “Cola de pre-filtro para redirección de cola LPD”). La diferencia entre una opción u otra es el envío del documento tal y como está o el uso de un filtro para adecuar el formato usado por la impresora. En el primer caso, es el equipo conectado directamente a la impresora el que realiza el filtrado. El servidor de impresión se especifica por su dirección IP o nombre de dominio. ⌦ Impresora Windows: Impresora conectada a un equipo Windows. Es necesario especificar el nombre NetBIOS del equipo y el usuario y contraseña para acceso al recurso compartido. ⌦ Impresora Novell: Impresora conectada a un servidor Novell NetWare o administrada desde éste. La gestión de estas impresoras se puede realizar también utilizando los comandos del paquete ncpfs (como se explicó en los capítulos 8 y 9). La tabla 10.1 enumera estos comandos. Figura 10.17. Ventana de configuración de una nueva impresora en SuSE Linux. A esta ventana se accede desde YaST2, seleccionando la opción “Hardware || Editar impresoras”. 404 REDES DE ÁREA LOCAL RA-MA Tabla 10.1. Comandos del paquete ncpfs para la administración de impresoras Comando nprint pqlist pqrm pqstat pserver Significado Cliente para imprimir en Novell. Muestra la lista de las colas de impresora disponibles. Elimina un trabajo enviado a una cola de impresora. Muestra los trabajos de la cola de impresora. Configura el servidor de impresora Novell. 10.3.6. Encaminamiento Un equipo Linux también puede funcionar como encaminador si dispone de, al menos, dos adaptadores de red instalados y completamente configurados (véase el apéndice B donde se exponen los pasos en la instalación de un adaptador de red). Para activar el encaminamiento en un equipo Linux, hay que establecer el valor true en el parámetro FORWARD_IPV4 del archivo /etc/sysconfig/network (en Linux Red Hat) o el valor yes en el parámetro IP_FORWARD del archivo /etc/rc.config (en SuSE Linux). En el sistema pueden establecerse rutas estáticas utilizando el comando route que se ejecuta desde la ventana del terminal como usuario root. Para añadir una nueva ruta estática, se utiliza la siguiente sintaxis básica del comando route: route add [-net|host] dirección [netmask máscara] [gw pasarela] [metric N] [dev dispositivo] Donde net|host especifica si la dirección de destino es de red o de equipo, dirección es la dirección de destino de la ruta (puede utilizarse el valor default para especificar las rutas por defecto), máscara es la máscara de subred aplicada, pasarela es la dirección del encaminador intermedio (si existe), N es la métrica de la ruta (saltos) y dispositivo es el adaptador asociado a la ruta (por ejemplo, eth0). Las rutas estáticas que se añaden mediante el comando route add también se pueden incluir directamente en el archivo /etc/route.conf (teniendo cuidado de mantener la sintaxis y los campos de las filas). Este archivo suele contener varias rutas que sirven de ejemplo a las que el administrador desea introducir. Así mismo, para eliminar una ruta estática establecida, hay que utilizar la siguiente sintaxis del comando route: route del [-net|host] dirección [netmask máscara] [gw pasarela] [metric N] [dev dispositivo] También es posible consultar la tabla de encaminamiento estático utilizando la siguiente sintaxis del comando route: route [-CFne] RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 405 Donde -C especifica que se desean mostrar las rutas almacenadas en caché; -F, que se muestren las rutas estáticas; -n pide que se muestren direcciones IP en vez de nombres de dominio de los equipos y -e solicita que se muestren todos los parámetros de cada ruta. Además del mecanismo anterior para establecer rutas estáticas, Linux utiliza un proceso demonio, llamado routed, que se encarga de gestionar las tablas dinámicas obtenidas de encaminadores adyacentes. Este proceso no se instala por defecto en el sistema (por lo que hay que instalarlo del paquete rpm que lleva el mismo nombre) y debe iniciarse en el arranque del sistema operativo. El proceso routed obtiene todos los adaptadores de red instalados en el sistema y establece el envío de paquetes entre ellos. Además, utiliza el puerto de transporte 520 para enviar y recibir paquetes UDP de información de encaminamiento. Cuando se lanza el proceso routed, se puede incluir el modificador -t para indicar que se desea mostrar por la salida estándar información sobre todos los paquetes enviados o recibidos por el equipo. El proceso routed también utiliza una lista con las direcciones IP de otros encaminadores con los que intercambiar paquetes de información de encaminamiento. Esta lista se almacena en el archivo /etc/gateways en forma de líneas con los siguientes campos: Tipo de dirección: Indica si se trata de una dirección de red (net) o de equipo (host). Dirección de destino (IP o de dominio). Dirección IP del encaminador intermedio. Número de saltos (hasta alcanzar el destino). Tipo de encaminador: existen tres tipos: • active (activo): Intercambian paquetes de información de encaminamiento, por lo que establecen rutas dinámicas. • passive (pasivo): No intercambian paquetes de información de encaminamiento, ya que suelen trabajar solamente con tablas estáticas. Las rutas a estas redes no son difundidas por el demonio routed, pero sí son creadas como entradas dinámicas no modificables cuando se incia este demonio. • external (externo): Encaminador pasivo cuya ruta no se incluye como entrada dinámica en el inicio de routed. Esta característica se utiliza para indicar que este tipo de rutas se utilizan por otros procesos de encaminamiento (por ejemplo, encaminamiento estático). 406 REDES DE ÁREA LOCAL RA-MA 10.3.7. Servidor Web Linux también puede funcionar como servidor Web, gracias al paquete apache que se incluye en las distribuciones. Con esta utilidad se pueden administrar también varios sitios a la vez. Para iniciar o parar el servidor apache, se pueden utilizar, respectivamente, los siguientes comandos: $ rcapache start $ rcapache stop El servicio puede configurarse también para que se inicie automáticamente cuando se arranque el equipo, modificando el valor del parámetro START_HTTPD del fichero /etc/rc.config. El paquete apache tiene establecida la configuración por defecto, de forma que, una vez instalado e iniciado, ya puede ser utilizado por los usuarios. Las páginas se guardan en la carpeta /urs/local/httpd/htdocs y se crea una página de inicio en ella llamada index.html. Todos los archivos de configuración del servidor apache se encuentran en la carpeta /etc/httpd (el más importante de todos ellos es httpd.conf). Debido a la cantidad y extensión de estos archivos, no se incluye información adicional sobre ellos, que puede consultarse directamente en ellos o en las páginas del manual (man). 10.4. EJERCICIOS 10.1. Utiliza el comando nslookup para obtener información del servidor DNS preferido de tu equipo. ¿Qué tipo de información te devuelve el comando? 10.2. Enumera todos los pasos que necesitas realizar para crear el dominio midominio.local en un servidor DNS Windows 2000. 10.3. Enumera todos los archivos de configuración que necesitas y su contenido básico para crear el dominio midominio.local en un servidor DNS Linux. 10.4. Imagina que deseas configurar un equipo Linux como servidor DHCP de la red. Supón que tienes tres equipos cuyas direcciones MAC son 00:E0:29:64:6A:F1, 00:E0:29:64:6A:F2 y 00:E0:29:64:6A:F3 y que se desea asignar la dirección IP 192.168.0.0/16. Enumera todos los pasos que debes realizar, teniendo en cuenta que el servicio dhcp no está instalado en el equipo. RA-MA CAPÍTULO 10: OTROS SERVICIOS DE RED 407 10.5. BIBLIOGRAFÍA Libros en castellano: [APR01] Aprenda Windows 2000 Server José Luis Raya y Elena Raya Ra-Ma, 2001 [RED01] Redes Locales José Luis Raya y Cristina Raya Ra-Ma, 2001 [REH01] Manuales de la distribución Linux Red Hat 7.1. Varios autores Red Hat Inc., 2001 [SUS01] Manuales de la distribución SuSE Linux 7.3 Varios autores SuSE GmbH, 2001, 2.ª ed. [W9899] Windows 98 Jaime de Yraolagoitia Paraninfo, 1999, 3.ª ed. [WNT97] Windows NT Server 4. Instalación, configuración y administración José Luis Raya y Elena Raya Ra-Ma, 1997 [WNT98] Windows NT Server 4.0, manual avanzado Manuel Beato Víbora y Jorge Franco Rey Anaya, 1998 [W2K00] Windows 2000 Server: Instalación, configuración y administración José Luis Raya y Elena Raya Ra-Ma, 2000 Otra documentación electrónica: [MSW00] Documentación Windows 2000 en CD-ROM (Inglés) Microsoft Official Curriculum: Implementing and Administering Microsoft Windows 2000 Directory Services (Course 2154a) Microsoft corp., 2000 408 REDES DE ÁREA LOCAL Páginas de Internet: [CYBENET] Apuntes y trabajos de temas de informática en general Varios autores http://www.cybercursos.net/ RA-MA CAPÍTULO 11 SEGURIDAD EN REDES La dependencia actual que sufre nuestra sociedad ante las redes de comunicaciones hace imprescindible tomarse en serio las cuestiones de seguridad. Una persona que detecte un pequeño fallo en la seguridad de una organización puede llevarla a la pérdida de miles de horas de trabajo y a unos costes de recuperación que en algunos casos la llevarían a la quiebra. Y es que la tecnología actual permite poner en manos de determinadas personas armas muy efectivas y destructivas. En este capítulo se exponen más a fondo los conceptos de seguridad en redes que se introdujeron en el capítulo 6. Aquí podrá estudiar algunas de las configuraciones básicas que deberá realizar en la red para aumentar la seguridad, aunque por cuestiones de espacio no se ha incluido una exposición exhaustiva de otros aspectos más puntuales sobre el tema. Figura 11.0. Engastador para conectores RJ-45 hembra 410 REDES DE ÁREA LOCAL RA-MA 11.1. INTRODUCCIÓN La seguridad de sistemas informáticos se ha convertido en un aspecto fundamental que no debe ser pasado por alto. El aumento en la utilización de las redes de comunicaciones, tanto por usuarios como por las empresas y las grandes organizaciones, hace indispensable el uso de técnicas para el control de la seguridad. Como se definió en el capítulo 1, un sistema informático es aquél que se dedica al tratamiento automático de la información. Por su parte, la seguridad de un sistema informático tiene que ver con la protección de la información que éste almacena o transmite para que personas no autorizadas puedan hacer uso de ella. De esta definición se deduce que la seguridad tiene que ver con tres aspectos fundamentales de la información que almacena: Confidencialidad (mantenerla lejos de personas no autorizadas). Integridad (impedir que pueda ser modificada o borrada). Disponibilidad (permitir que pueda ser consultada en cualquier momento). Así mismo, la seguridad de un sistema también tiene que ver con su correcto funcionamiento, es decir, con el grado de tolerancia a fallos que tenga. Estos fallos pueden ser intencionados, realizados por usuarios o programas de tipo virus, o fortuitos, es decir, aquéllos que se producen accidentalmente ante un fallo software, hardware, por la caída del suministro eléctrico, etc. Hay que tener en cuenta que un ataque o fallo de estas características puede atentar contra la confidencialidad, integridad o disponibilidad de la información. Un fallo de seguridad de un sistema informático se produce por dos razones: ⌦ La necesidad del envío y recepción de información por la red supone que durante el viaje ésta puede ser interceptada por personas no autorizadas. ⌦ El sistema operativo de la máquina y los protocolos de comunicaciones de la arquitectura han sido diseñados e implementados en un lenguaje de programación, por lo que éstos pueden tener fallos o situaciones no contempladas, dando lugar a “agujeros” por los que los intrusos pueden acceder. Por todo lo visto anteriormente, se deduce que la seguridad no solamente tiene que ver con los equipos individuales, sino también con la red de comunicación a la que están conectados. La seguridad de la red depende de los protocolos utilizados, además de los dispositivos de interconexión que se encuentren funcionando en ella. Hay que tener en cuenta que la seguridad de un sistema nunca puede llegar a ser completa, no porque no se disponga de los medios para conseguirlo, sino porque un elevado grado de seguridad en él puede dificultar e, incluso, impedir su uso. Por ejemplo, se puede impedir el uso del protocolo FTP en un servidor, pero algún usuario RA-MA CAPÍTULO 11: SEGURIDAD EN REDES 411 podrá necesitar ese servicio en un futuro cercano. Por esta razón, los administradores deberán buscar un punto medio que permita un nivel de seguridad alto a la vez que facilite su explotación. 11.2. ATAQUES AL SISTEMA Los ataques a los sistemas son operaciones intencionadas o fortuitas que pueden poner a los equipos en un estado inseguro. Estos ataques pueden ser intencionados cuando la persona que los realiza pretende conseguir acceso al sistema para obtener o modificar la información que tiene almacenada o simplemente con el propósito de dejarlo fuera de servicio. También pueden ser fortuitos cuando los producen personas de la organización en forma de accidentes. Son muchos los métodos utilizados para realizar ataques a sistemas, pero podemos enumerar los más importantes: ⌦ Produciendo fallos en el suministro eléctrico. ⌦ Utilizando defectos de programación del software del sistema operativo o los protocolos de comunicaciones. ⌦ Trabajando con las propias herramientas de seguridad incluidas en el sistema operativo. ⌦ Insertando virus en los programas de los equipos. ⌦ Introduciendo Caballos de Troya camuflados como salvapantallas o cursores animados del ratón para crear puertas de entrada a los sistemas. ⌦ Aprovechando un fallo de seguridad no detectado por el administrador del sistema o que ha olvidado tapar. Estos agujeros se producen por programas instalados mal configurados, utilidades de las que no se conoce su existencia, puertos a la escucha, cuentas de usuario no eliminadas o que carecen de contraseña, etc. ⌦ Utilizando medidas de seguridad relajadas en sistemas que se emplean habitualmente para desarrollo o pruebas. ⌦ Suplantando la identidad de una persona (ya sea a través de una conversa- ción telefónica o correo electrónico) con el propósito de convencer al administrador para que cambie la contraseña de una cuenta de usuario. Un ataque a un sistema se puede realizar desde el propio equipo (si la persona dispone de acceso a la sala en donde se encuentra) o a través de la red a la que se encuentra conectado. En este capítulo nos centraremos en estudiar los ataques remotos que se realizan a través de la red de comunicación, ya que es tarea del propio sistema operativo y de la seguridad de la organización la protección ante ataques locales. 412 REDES DE ÁREA LOCAL RA-MA Antes de realizar un ataque a un sistema remoto, el intruso debe investigar para obtener toda la información que sea posible sobre él y sobre la red de comunicación a la que está conectado. Esta información incluye la topología de la red, direcciones de las conexiones por encaminadores y módem, direcciones de las estaciones y servidores, sistemas operativos instalados, recursos compartidos, protocolos de comunicaciones utilizados, puertos de transporte abiertos en cada equipo, etc. Los ataques remotos a sistemas se realizan generalmente a través de los puertos TCP que el equipo “víctima” tiene abiertos. Como se vio en el capítulo 6, es a través de esos puertos por donde el sistema establece una vía de acceso a los servicios que ofrece. En caso de que el sistema esté bien protegido y los puertos abiertos no resulten accesibles, entonces el intruso intentará colocar un programa de tipo troyano. Éstos deben ejecutarse en el equipo local (normalmente camuflados como utilidades para que el usuario o administrador no conozca su verdadera naturaleza) y se encargan de abrir nuevos puertos para permitir conexiones externas. Otros tipos de ataques son los ataques de negación de servicio (Deny of Service, DoS) cuyo objetivo es el de dejar a uno o varios sistemas inoperativos, impidiéndoles su acceso a la red (en caso de equipos que funcionan como clientes) o bloqueando el acceso a sus recursos y servicios compartidos (en caso de tratarse de máquinas servidores). Este tipo de ataques se puede realizar de varias formas: Consumiendo todo el ancho de banda del enlace al que está conectado el equipo. Consumiendo todos los recursos compartidos del equipo. Aprovechando los fallos de diseño del sistema operativo o los protocolos de comunicación. Modificando las tablas de encaminamiento o los servidores DNS para que algunos equipos resulten inalcanzables. Existen muchos ejemplos de ataques de negación de servicio relacionados con las técnicas expuestas anteriormente. Uno de los más famosos es, por ejemplo, el ping de la muerte que hace que el equipo se bloquee cuando recibe un paquete IP de un tamaño grande (de 65.510 bytes, indicándolo en la opción -s del comando ping), debido a problemas en el funcionamiento de la versión antigua del protocolo. Otro ejemplo de ataque de negación de servicio consiste en enviar el mensaje “Nombre NetBIOS Duplicado” a una máquina que utilice este protocolo a través del puerto UDP 137. Este mensaje se utiliza para notificar que dos estaciones están utilizando el mismo nombre NetBIOS en la red (véase el capítulo 7 en donde se expone este problema). Hay que tener en cuenta que, cuando una estación recibe este mensaje, automáticamente desactiva su acceso a la red y queda aislado. RA-MA CAPÍTULO 11: SEGURIDAD EN REDES 413 11.3. MEDIDAS PREVENTIVAS BÁSICAS En este apartado se exponen algunos métodos básicos de control de la seguridad en la red que pueden ser aplicados a cualquier sistema operativo. En los apartados 11.4 y 11.5 se exponen casos más concretos de servidores y dispositivos de red. 11.3.1. Precauciones eléctricas Uno de los puntos más vulnerables de un sistema informático es su alimentación a la corriente eléctrica. Si la instalación no ofrece las condiciones adecuadas, las estaciones de trabajo o los servidores pueden estar recibiendo sobretensiones, ruido o cortes de suministro imprevistos. En estas condiciones, los sistemas están predispuestos a perder información o, incluso, a dejar de funcionar definitivamente por un fallo en alguno de sus componentes. Los métodos de protección eléctrica más utilizados actualmente son: ⌦ Instalar más de una fuente de alimentación en los equipos (sobre todo en los servidores). Cuando alguna de esas fuentes falla, automáticamente se pone en funcionamiento la siguiente, de forma que el equipo puede seguir funcionando mientras se espera a reemplazar la averiada. ⌦ Utilizar estabilizadores de tensión entre las tomas eléctricas y los equipos, para que eliminen las sobretensiones y las inestabilidades de la corriente. ⌦ Adquirir dispositivos de alimentación ininterrumpida o SAI, que actúan como acumuladores de corriente. El SAI se carga mientras recibe corriente y es capaz de mantener el equipo en funcionamiento durante unos minutos cuando falla el suministro eléctrico. Esto permite que el administrador pueda apagar el equipo o servidor de forma correcta e iniciarlo cuando el problema se haya restablecido. Dependiendo del modo de funcionamiento y del nivel de protección, existen tres tipos básicos de SAI: • SAI fuera de línea: El equipo está conectado directamente a la red eléctrica y el SAI solamente alimenta el equipo cuando hay un fallo en el suministro o éste es insuficiente. En el cambio de alimentación de red a alimentación del SAI se produce un corte de corriente de pequeña duración que la mayoría de los sistemas no aprecian. • SAI en línea: El SAI está situado entre la alimentación de red y el equipo informático, de forma que también es capaz de estabilizar la tensión y eliminar pequeñas fluctuaciones. 414 REDES DE ÁREA LOCAL RA-MA • SAI en línea con doble conversión: Se trata de un SAI en línea que es capaz de eliminar grandes fluctuaciones en la corriente, sobretensiones, bajadas de voltaje, variaciones de frecuencia, etc. Figura 11.1. Ejemplo de algunos dispositivos SAI disponibles en el mercado. Además del modo de trabajo y del nivel de protección ofrecido, los SAI también se clasifican atendiendo a su capacidad de almacenamiento, es decir, al número de equipos que se puedan conectar y al tiempo que es capaz de mantenerlos funcionando. Un SAI puede incluir, además de las conexiones eléctricas correspondientes, conexiones por puerto serie o de red que permiten monitorizar desde un ordenador el estado del dispositivo y de la red eléctrica. Gracias a este tipo de conexiones, el ordenador puede configurarse para poder realizar una tarea concreta cuando el SAI le notifica que ha fallado el suministro eléctrico o que no le queda suficiente carga como para aguantar más tiempo. Por ejemplo, el administrador puede configurar el equipo para que realice una copia de seguridad de los datos o se apague de forma ordenada cuando le sea notificada alguna de las situaciones anteriores. 11.3.2. Contraseñas para autenticación El uso de contraseñas para la autenticación de los usuarios es un método básico de control de la seguridad en sistemas. El sistema operativo almacena las contraseñas en el equipo local o en alguno de los servidores de la red. En el segundo caso existe el problema de su transmisión de un equipo a otro, ya que pueden ser interceptadas e inspeccionadas por usuarios a la escucha. Almacenar las contraseñas o enviarlas por la red supone un riesgo, por lo que se recomienda cifrarlas, técnica que se explica posteriormente. Sin embargo, hay que tener en cuenta que todavía existen protocolos que no utilizan el cifrado de las contraseñas, con lo que habrá que tener cuidado en su uso (como FTP, Telnet, etc.). RA-MA CAPÍTULO 11: SEGURIDAD EN REDES 415 La elección de una contraseña compleja resulta de vital importancia debido a la posibilidad de que un intruso pueda obtener la lista de usuarios definidos en el sistema. Por esa razón, se recomienda no utilizar como contraseña el mismo nombre de usuario u otra información personal que pueda ser fácilmente investigada. 11.3.3. Control de permisos Otro método fundamental para mantener protegida la información ante intrusos es el uso de permisos a nivel del sistema operativo, a través del servicio de directorio. Estos permisos se aplican tanto a operaciones que pueden realizarse en el sistema como a los sistemas de archivos que posee. En el capítulo 9 se explican los métodos utilizados en algunos sistemas operativos para mantener el control de la seguridad en el uso de recursos compartidos. Hay que tener en cuenta que una buena política de gestión de permisos en el sistema es una parte muy importante del control de la seguridad que debe llevar a cabo el administrador. Por lo tanto, éste debe ser conocedor de todas las necesidades de los usuarios y también de las restricciones que debe imponerles. En muchas ocasiones suele ser recomendable conceder permisos a los usuarios de forma temporal para que puedan utilizar un determinado servicio necesario en un momento puntual. Cuando esa necesidad haya terminado, el administrador deberá eliminar ese derecho con el fin de no dejar puertas de acceso potenciales en el futuro. 11.3.4. Copias de seguridad La realización de copias de seguridad periódicas nos previene ante la pérdida o corrupción de la información producida por ataques premeditados o fortuitos. La realización de copias de seguridad de la información debe tener en cuenta las siguientes cuestiones con el fin de facilitar esta labor al administrador: Utilizar particiones de disco independientes para programas y datos. Configurar los equipos para que realicen las copias de seguridad de forma automática y en periodos donde su grado de utilización es muy bajo (noches, fines de semana, etc.). Realizar copias de seguridad solamente de los archivos que han sido modificados desde la última copia realizada. Comprobar el buen estado de la copia de seguridad una vez realizada. 416 REDES DE ÁREA LOCAL RA-MA Existen varios tipos de copias de seguridad dependiendo del porcentaje de la información que se copia. Éstos son: Copia de seguridad completa: Es aquélla que copia toda la información almacenada en el sistema. Copia de seguridad incremental: Copia solamente los archivos de datos del sistema que tienen activado el atributo de modificado. Una vez que han sido copiados, ese atributo es eliminado para que el archivo no se copie en otra operación incremental. Copia de seguridad diferencial: Es igual que la copia incremental, salvo que no se desactiva el bit modificado del archivo, de forma que éste es copiado en todas las operaciones diferenciales que se realicen (hasta que se realice una copia completa o incremental). Cuando se desea restaurar una copia de seguridad, hay que utilizar la última copia de seguridad completa, la última copia de seguridad diferencial posterior a la completa y todas las copias incrementales posteriores a la copia diferencial. Esto permite restaurar la información tal y como estaba cuando se realizó la última copia de seguridad incremental. Para los sistemas operativos Windows de Microsoft se puede instalar también la utilidad Copia de seguridad que va incluida en el disco de instalación. Una vez instalada, la herramienta es accesible desde el menú de inicio en la opción “Programas || Accesorios || Herramientas de sistema || Copia de seguridad”. La figura 11.2 muestra la ventana principal de la utilidad incluida en Windows 2000. Además de la utilidad de copia de seguridad en entorno gráfico, Windows NT/2000 dispone del comando NTBACKUP que puede ser lanzado por el Planificador de tareas62 para que las copias de seguridad se realicen de forma automática a intervalos de tiempo regulares. La sintaxis de este comando es la siguiente: NTBACKUP BACKUP [SYSTEMDATE] archivo|carpeta /J trabajo [/F nombre] [/DS servidor] [/V YES|NO] [/M tipo] Existen más opciones que pueden especificarse en este comando; las más importantes se explican a continuación: SYSTEMDATE: Especifica que los archivos y carpetas se copiarán con los atributos del sistema que tengan. El planificador de tareas de Windows permite configurar el sistema para que ejecute programas a determinadas horas o con una periodicidad marcada de antemano. En los sistemas Linux existen programas demonios que realizan estas tareas, como cron, y comandos que configuran su comportamiento, como crontab, at y bach. 62 RA-MA CAPÍTULO 11: SEGURIDAD EN REDES 417 archivo|carpeta: Indica el archivo o carpeta que contiene la información que se va a copiar. /J trabajo: Establece un nombre para que el sistema identifique este proceso de copia de seguridad. /F nombre: Especifica el nombre del archivo de extensión .BKF donde se guardará la copia de seguridad de los archivos. /DS servidor: Obliga a la realización de una copia de seguridad del servicio de directorio almacenado en el servidor especificado. /V: Indica si el programa debe realizar una verificación de la copia de seguridad que se ha realizado. /M: Establece el tipo de copia de seguridad que se va a realizar (tipo puede ser NORMAL, INCREMENTAL, DIFFERENTIAL, COPY o DAILY). Figura 11.2. Ventana principal del programa de copia de seguridad en Windows 2000. Con esta utilidad también es posible programar el equipo para que realice las copias periódicas de forma automática. Los sistemas Linux ofrecen también varios mecanismos de copia de seguridad (a través de comandos, utilidades gráficas, etc.). En la distribución SuSE se incluye directamente en el programa YaST, seleccionando la opción “Administración del sistema || Crear backups”. La ventana principal de esta utilidad aparece en la figura 11.3. 418 REDES DE ÁREA LOCAL RA-MA Figura 11.3. Ventana de configuración de copias de seguridad en YaST. Para copias de seguridad de información ubicada en otros equipos es necesario realizar de antemano su montaje. Hay que tener en cuenta que el usuario que se encarga de realizar las copias de seguridad en el sistema y/o en la red debe contar con derecho de lectura en todos los archivos de datos y derecho de acceso en las carpetas donde se encuentran. Es conveniente que todos los archivos de datos se encuentren almacenados en unos pocos servidores (lo que facilitará la realización de las copias), aunque pueden estar distribuidos por la red. 11.3.5. Cifrado de la información Cuando la información está al alcance de usuarios no autorizados, la mejor forma de protegerla es realizar un cifrado de ella. El cifrado consiste en alterar la información para que resulte ilegible a personas ajenas, pero con la particularidad de que el destinatario conoce el método para recomponerla. Cuanto más complejo sea el método de cifrado, menos probabilidades existirán de que otras personas puedan descifrarla. Existen dos métodos fundamentales de cifrado: Cifrado con clave privada: Se utiliza una sola clave que sirve para cifrar y descifrar la información. Todo aquél que conozca la clave podrá realizar estas dos operaciones. Cifrado con clave pública: En este sistema, la información se cifra utilizando una clave que puede ser conocida por todos, ya que debe permanecer con la información. Sin embargo, esa clave pública no sirve para descifrar el mensaje, ya que esta operación solamente puede realizarse con una clave privada que no es de dominio público. Este método funciona RA-MA CAPÍTULO 11: SEGURIDAD EN REDES 419 bien cuando es necesario distribuir las claves (en este caso las públicas, manteniendo las privadas a buen recaudo) y no se puede averiguar la clave privada a partir de la clave pública. EJEMPLO 11.1 Veamos un ejemplo de funcionamiento del cifrado por sustitución, una técnica bastante rudimentaria pero aclaratoria para el lector. El cifrado por sustitución se basa en cambiar cada carácter del texto por otro de acuerdo con una tabla de correspondencias. Supongamos que tenemos el siguiente mensaje a cifrar: BUENOS DÍAS A TODOS. Y la tabla de correspondencias es la siguiente: Carácter: A B C D E F G H I J K L M N O P Q R S T U V X Y Z Cifrado: Q I Z X S W E D C V F R T G B N H Y U J M K L P O Por lo tanto, el texto anterior cifrado tiene esta forma: IMSGBU XCQU Q JBXBU. La técnica de descifrado de este tipo de mensajes sin conocer la tabla de cifrado resulta bastante sencilla. Bastará con contabilizar las letras que aparecen sueltas (como la Q del ejemplo anterior), las cuales deben corresponderse con “Y”, “A”, “E”,“O” y “U”. También hay que buscar las letras que más aparecen en las palabras, ya que éstas se corresponden con vocales. EJEMPLO 11.2 Veamos un ejemplo de funcionamiento de otro método de cifrado bastante sencillo llamado cifrado por transposición, que consiste en modificar la posición de los caracteres del texto. Supongamos que tenemos el mismo mensaje a cifrar: “BUENOS DÍAS A TODOS.”. Ese texto se puede colocar en columnas: B O Í A D U E N S D A S T O O S . 420 REDES DE ÁREA LOCAL RA-MA Ahora podemos modificar el orden de los caracteres leyéndolos desde arriba. El orden de lectura de las columnas será de izquierda a derecha (aunque se puede seguir cualquier otro orden): BOÍADUSA OE STSND O. Los algoritmos de cifrado que se utilizan en la actualidad se basan fundamentalmente en técnicas parecidas a las expuestas en los ejemplos 11.1 y 11.2. Sin embargo, lo que se hace es aplicar en secuencia varios algoritmos distintos hasta obtener un texto cifrado. Por ejemplo, el algoritmo puede iniciar el cifrado con una sustitución, después una transposición, etc. Para cada uno de los métodos de cifrado existen multitud de métodos de descifrado cuando no se dispone de la clave. Sin embargo, dependiendo del tipo de cifrado existen métodos más adecuados que otros. Uno de los métodos más utilizados es la fuerza bruta; se utiliza cuando se conoce el método de cifrado pero no la clave. Este proceso utiliza un conjunto de palabras (normalmente tomadas de un diccionario) que va cifrando para comprobar si coinciden con el texto. Esta técnica permite descifrar un mensaje que esté compuesto por palabras del diccionario, aunque el tiempo para conseguirlo suele ser bastante largo. Otras palabras más complejas, formadas por números y caracteres especiales, no pueden ser descifradas usando la fuerza bruta. 11.3.6. Firmas digitales Uno de los problemas más importantes que tienen que ver con la seguridad en sistemas de transmisión de datos es la verificación de la autenticidad del emisor. Esta situación puede producirse, por ejemplo, cuando un usuario desea enviar una orden al banco para que realice una transferencia. En ese caso, resulta indispensable que la sucursal compruebe de alguna forma que está dialogando realmente con su cliente y no con otra persona. La firma digital es un método que se utiliza para comprobar la identidad de la persona con la que se va a establecer una comunicación. A este método se le llama así porque se basa en la idea de reconocer a una persona mediante su firma. Existen varias formas de construir firmas digitales: Utilizando un algoritmo de cifrado de clave privada (un proceso poco seguro). Utilizando un algoritmo de cifrado de clave pública. RA-MA CAPÍTULO 11: SEGURIDAD EN REDES 421 11.3.7. Antivirus Un virus no es más que un pequeño programa informático cuyo propósito principal es el de dañar el sistema o la información que contiene. Para conseguir que el usuario ejecute el programa de virus, este último debe ser introducido dentro de otro programa o archivo del disco (esta situación se llama a menudo “infección”). Por lo tanto, para que el virus se pueda extender por los archivos del disco, debe incluir también el código necesario (además del código que realiza la tarea maligna). En principio, el ordenador no es capaz de diferenciar un programa normal de un virus, puesto que se limita a ejecutar todas las tareas que dicta el usuario. Sin embargo, si el sistema operativo ofrece buenos mecanismos de protección, es posible evitar que los virus se puedan extender por todo el disco. Un ejemplo de este tipo de sistemas operativos es Linux, donde los usuarios no disponen de permisos para modificar la mayoría de los programas y archivos instalados y, por lo tanto, los virus que pudieran ejecutar no pueden extenderse ni dañar éstos. Hay que tener mucho cuidado porque la situación cambia cuando se accede a Linux como usuario root, ya que éste tiene permiso para realizar cualquier operación sobre el sistema y, si ejecuta inadvertidamente algún virus, éste puede extenderse y funcionar a sus anchas. Para controlar los programas de virus, algunas empresas han desarrollado aplicaciones antivirus, que tienen dos funciones fundamentales: Informar al usuario cuando está ejecutando un virus. Eliminar todos los virus que se encuentran en los archivos de disco. Para que el antivirus sea capaz de realizar estas dos tareas, debe instalarse en el sistema y quedar residente (es decir, permanecer en memoria y ejecutarse en segundo plano o background). De esta forma, puede alertar en caso de actividad de algún virus. Para eliminar los virus que están “latentes” en los archivos de disco, lo recomendable siempre es arrancar con un disco limpio (es decir, que no contenga virus) antes de ejecutar el antivirus. Esto es debido a que los virus que están en ejecución pueden incluir un código para protegerse a sí mismos o para alterar el propio programa de limpieza. Hoy en día existen muchas aplicaciones antivirus en el mercado, como Panda Antivirus, McAfee VirusScan, etc. La adquisición de uno de estos paquetes permite al usuario actualizar cada mes su antivirus para así mantener a raya todos los virus de nueva aparición. Además, estas aplicaciones son capaces de detectar virus en los programas descargados de Internet, en el correo electrónico, etc. Las medidas básicas que debe tomar el administrador del sistema con respecto a los virus son: Concienciar a los usuarios para que no instalen ni ejecuten programas de dudosa procedencia. Si es posible, restringir a los usuarios los permisos de ejecución o instalación de aplicaciones. 422 REDES DE ÁREA LOCAL RA-MA Programar el antivirus para que realice una exploración y limpieza de archivos en periodos de inactividad del equipo (por las tardes, por las noches, etc.). Realizar copias de seguridad periódicas para evitar desastres en caso de activación de virus destructivos. Mantener el antivirus actualizado con la última versión o los últimos parches ofrecidos por el fabricante. Figura 11.4. Ejemplo de programa antivirus de la empresa Panda. Las opciones más importantes son el análisis del PC (disco duro) y los servicios de protección permanente (ante los virus que se activan). 11.4. MEDIDAS DE SEGURIDAD EN SISTEMAS En este apartado nos centraremos en establecer cuáles son las medidas de seguridad necesarias para proteger un equipo ante ataques externos. Estas medidas se centrarán en su configuración de red, dependiendo del protocolo de comunicaciones que utilice y del sistema operativo instalado. Hay que tener en cuenta que las medidas de seguridad que se deben aplicar pueden variar de unos sistemas a otros aunque utilicen los mismos protocolos de comunicaciones. Esto es debido a dos cuestiones fundamentales: RA-MA CAPÍTULO 11: SEGURIDAD EN REDES 423 Cada fabricante de sistemas operativos diseña su propia versión de la arquitectura de comunicaciones (algo que resulta muy común para TCP/IP, por ejemplo). Aunque este diseño debe basarse en su especificación formal, en la mayoría de las ocasiones se deja cierta libertad en la interpretación de esas especificaciones, lo que en la práctica puede dar lugar a ciertas diferencias. Estas diferencias se traducen en pequeñas variaciones en el comportamiento de los protocolos, lo que sin duda debe modificar las políticas de seguridad aplicables. En un mismo equipo pueden coexistir diferentes arquitecturas de comunicaciones, que, o bien funcionan de forma independiente, o bien se utilizan conjuntamente para el transporte de la información (como puede ser el caso del funcionamiento de NetBIOS sobre TCP/IP en un sistema Windows, por ejemplo). Por esta razón, el comportamiento de los protocolos puede ser ligeramente distinto para cada caso. 11.4.1. Protección de un sistema Windows Todas las versiones disponibles del sistema operativo Microsoft Windows podemos dividirlas en dos grupos principales atendiendo a la gestión de la seguridad: Windows 3.x/9x/Me: Disponen de una gestión de la seguridad muy pobre, debido principalmente a que están diseñados con el objetivo fundamental de permitir una instalación, configuración y manejo sencillos. Windows NT/2000/XP: Poseen un elevado nivel de seguridad, ya que están diseñados para funcionar en un entorno de red corporativo. Sin embargo, hay que tener en cuenta que conseguir un nivel de seguridad adecuado en estos sistemas requiere de conocimientos avanzados. Hay que tener en cuenta que Microsoft Windows 9x/Me no es un sistema operativo multiusuario ni dispone de herramientas de ejecución remota. Por esta razón, solamente hay que tener en cuenta tres métodos básicos para aumentar la seguridad en el sistema: Utilizar contraseñas complejas (formadas por letras, números y caracteres no alfanuméricos, como “!”, “#”, “%”, etc., mezclados para formar palabras ilegibles) para las carpetas y discos duros compartidos. Esta medida impide que un intruso pueda descifrar las contraseñas utilizando programas basados en diccionario y fuerza bruta. Advertir a los usuarios que no ejecuten programas de dudosa procedencia, ya que éstos pueden ser realmente troyanos. Estos programas pueden parecer a primera vista inofensivos (salvapantallas, iconos animados para el puntero del ratón, etc.), pero pueden funcionar como servidores de acceso para usuarios remotos, a través de la apertura de nuevos puertos de transporte para realizar conexiones. 424 REDES DE ÁREA LOCAL RA-MA Utilizar el carácter “$” al final de los nombres de las carpetas compartidas para impedir que aparezcan en las ventanas de exploración de la red, impidiendo así que los intrusos intenten acceder a ellos. Actualizar el sistema con los últimos parches ofrecidos por el fabricante para eliminar algunos agujeros de seguridad de los protocolos. Por su parte, comprometer la seguridad de un sistema Windows NT/2000/XP resulta más difícil ya que se ha reforzado en éstos, aunque siempre existen puntos que hay que sellar convenientemente: Hay que restringir el uso de los controladores primarios de dominio y controladores de reserva de dominio a labores de autenticación y acceso a archivos compartidos. La instalación en éstos de nuevos servicios (DHCP, DNS, etc.) hace que se pongan a la escucha otros puertos TCP/UDP, lo que dificulta todavía más la gestión de la seguridad en estos equipos más críticos. Eliminar la posibilidad de que los usuarios puedan iniciar sesiones nulas en la máquina. Estas sesiones permiten que un usuario no autenticado pueda obtener información del sistema acerca de los recursos compartidos, usuarios y grupos creados en el sistema, etc. Para eliminar esta posibilidad, hay que acceder al editor del registro (programa regedt32.exe) y crear la clave RestrictAnonymous, de tipo REG_DWORD, con el valor 1 (Windows NT) o 2 (Windows 2000), en la entrada HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Control\LSA. Se recomienda consultar la documentación del sistema operativo, ya que esta clave del registro puede no funcionar si no se ha instalado el Service Pack correspondiente (si ya aparece esta clave, es que está instalado). Controlar las contraseñas de los usuarios en dos aspectos fundamentales: • Utilizar contraseñas complejas (sobre todo para aquellas cuentas que poseen permisos de administración del sistema). El intruso no podrá realizar ningún daño si no dispone de ninguna cuenta de usuario válida para acceder al sistema. • Establecer las directivas de cuenta con el propósito de imponer restricciones en las contraseñas: caducidad, longitud mínima, bloquear la cuenta en caso de un número de intentos fallidos, etc. Estas directivas se configuran dentro de la utilidad Administrador de usuarios para dominios de Windows NT (pulsando en la opción “Directivas || Cuentas” del menú principal) o desde Directiva de seguridad del dominio en Windows 2000 (icono “Directivas de cuenta”). En las figuras 11.5 y 11.6 aparecen las respectivas ventanas de configuración. RA-MA CAPÍTULO 11: SEGURIDAD EN REDES 425 Figura 11.5. Ventana de configuración de las directivas de cuenta en Windows NT. La configuración que aparece se aplica a todas las cuentas de usuarios creadas en el dominio y es la que se establece por defecto en la instalación. Figura 11.6. Ventana de configuración de las directivas de cuenta en Windows 2000. Estas directivas se refieren a las cuentas de usuario que han sido creadas en el dominio, no en el equipo local. También es posible establecer una política de bloqueo de cuentas en caso de intentos de acceso frustrados en el icono “Directiva de bloqueo de cuentas”. 426 REDES DE ÁREA LOCAL RA-MA Finalmente, y como ocurre con otros sistemas, se recomienda actualizar el sistema con los últimos parches ofrecidos por el fabricante o las nuevas versiones del sistema operativo para eliminar algunos agujeros de seguridad de los protocolos. Microsoft suele distribuir estos parches de forma gratuita en ediciones independientes, denominados Service Packs. Cada uno de ellos ofrece amplia documentación sobre los problemas de seguridad que soluciona. 11.4.2. Protección de un equipo Linux Los sistemas Unix/Linux siguen siendo hoy en día muy populares por su nivel de seguridad y robustez. Sin embargo, la realidad es que estos sistemas también pueden resultar vulnerables ante ataques. Las medidas más importantes a tomar en este tipo de sistemas para aumentar la seguridad son: Utilizar contraseñas complejas para las cuentas de usuario. Aquellos usuarios cuya contraseña es igual a su nombre o los que no tienen contraseñas son los candidatos perfectos para que los intrusos puedan acceder utilizando servicios FTP o Telnet. Se recomienda instalar y utilizar el comando Npasswd en vez de passwd ya que obliga al uso de contraseñas más seguras. Minimizar el uso de la cuenta de superusuario (root), y emplearla solamente cuando haya que modificar la configuración actual del sistema. Cuando un usuario accede como root al sistema y se encuentra conectado a una red local o Internet, entonces aumentan enormemente las posibilidades de sufrir un ataque, debido a que el equipo es más vulnerable. Establecer un tiempo de vida limitado en las cuentas de usuario creadas. En Linux, toda la información de las cuentas se almacena en los archivos /etc/passwd y /etc/shadow63. En este último, cada cuenta ocupa una fila y tiene los siguientes campos separados por dos puntos: nombre de usuario, días que han pasado desde el 01/01/1970 hasta el último cambio de la contraseña, número mínimo y máximo de días para el cambio de la contraseña, aviso antes de la caducidad de la contraseña, días permitidos antes del bloqueo de la cuenta y fecha de caducidad de la cuenta. Mantener a buen recaudo los archivos core. Estos archivos se crean en el directorio actual cuando se produce un error inesperado en la ejecución de un programa y guardan información sobre el estado de ejecución de la máquina en ese momento. Entre esa información, se puede encontrar parte Las contraseñas encriptadas se guardan en el archivo /etc/shadow ya que solamente el usuario root tiene permiso de lectura. Sin embargo, el contenido del archivo /etc/passwd puede ser inspeccionado por cualquier usuario del sistema. 63 RA-MA CAPÍTULO 11: SEGURIDAD EN REDES 427 del archivo oculto de contraseñas /etc/.shadow. Por lo tanto, lo recomendable es eliminar estos archivos del sistema mediante el comando find / -name core -type f -exec rm \{\} \; y limitar la creación de ellos (ya que éstos son muy grandes) mediante el comando ulimit -c 0. En caso de que posteriormente se necesite inspeccionar un archivo core para depurar un error en un programa, el administrador podrá permitir de nuevo su creación con el comando ulimit -c 100000. Utilizar correctamente las opciones de montaje de particiones de datos (comando mount u opciones del archivo /etc/fstab): nosuid para que el sistema ignore el permiso s en archivos ejecutables, noexec para impedir la ejecución de archivos, nodev para impedir la existencia de archivos de dispositivo, noauto para que la partición quede montada en el arranque o no se desmonte al cerrar la sesión y user para indicar que pueda ser montada por los usuarios (en algunas versiones de Linux, el uso de la opción user lleva implícita las opciones nosuid, noexec y nodev). Utilizar convenientemente la máscara por defecto del sistema (comando umask) para impedir la creación de archivos y carpetas con demasiados permisos por defecto. Encriptar los archivos que contienen datos críticos o confidenciales y deben ser compartidos mediante NFS. Para ello, se puede utilizar la orden crypt (un método que no resulta muy seguro, dada su sencillez de encriptado), mcrypt (una versión actualizada que se basa en varios algoritmos más seguros), PGP (método también utilizado para firma digital) o los sistemas de ficheros TCFS (Transparent Cryptographic File System o Sistema de Ficheros Criptográfico Transparente) y CFS (Cryptographic File System o Sistema de Ficheros Criptográfico). Desactivar todos los servicios innecesarios en el sistema. Mantener algunos servicios no utilizados aumenta el riesgo de ataques, sobre todo debido al aumento del número de puertos TCP/UDP que se encuentran a la escucha. Así mismo, para los servicios que deban ser utilizados, se recomienda que su configuración se realice correctamente: • Para el servicio TFTP se recomienda utilizar un directorio compar- tido que no contenga ningún archivo que pueda comprometer la seguridad. • Se aconseja utilizar el servicio rcp en vez de FTP para copiar archivos y evitar el tránsito de las contraseñas no encriptadas por la red (o utilizar otro servicio que encripte esas contraseñas). En caso de que deba utilizarse, se recomienda no permitir la conexión de usuarios anónimos. 428 REDES DE ÁREA LOCAL RA-MA • Para el servicio sendmail, se recomienda encarecidamente su desactivación, ya que su complejidad es la causa de gran cantidad de problemas de seguridad. • Para el servicio NFS, se recomienda configurarlo para que solamente usuarios autorizados puedan conectarse (utilizando el archivo /etc/exports con los nombres de usuario correspondientes, como se vio en el capítulo 8). • Para el servicio Telnet, se recomienda utilizar versiones que ofrezcan conexiones encriptadas (como SSH o STelnet) u otras que eviten su envío por la red (como rlogin o rsh). Para activar el servicio SSH, hay que indicar al sistema que inicie el demonio sshd en el arranque, estableciendo el parámetro START_SSHD al valor yes en el archivo /etc/rc.config. • Para el servicio systat, se aconseja su deshabilitación, ya que, a través de éste, cualquier usuario puede obtener información del sistema. Para ello, hay que comentar la entrada correspondiente en el archivo /etc/inetd.conf o especificar otro comando para este servicio que no ofrezca información comprometedora. • Para el servicio netstat se aconseja también su deshabilitación desde el archivo /etc/inetd.conf. Este servicio ofrece información del estado de la red a la que está conectado el equipo. • Para el servicio finger se aconseja también su deshabilitación desde el archivo /etc/inetd.conf. Este servicio ofrece información sobre las cuentas de usuarios del sistema, tanto las que están siendo usadas en ese momento como las que no están activas. • Finalmente, para el servidor X se recomienda desactivar la opción de conexión remota utilizando el comando xhost -. En caso de que se necesite este servicio, entonces se recomienda especificar las direcciones IP de las máquinas autorizadas para realizar este tipo de conexión mediante el comando xhost +dir_ip, donde dir_ip especifica la dirección IP de la máquina remota autorizada. Utilizar el proceso tcpd para aumentar la seguridad de los servicios de tipo TCP. Este proceso utiliza una tabla almacenada en /etc/hosts.allow para indicar las direcciones de los equipos que pueden acceder al servicio y otra tabla /etc/hosts.deny para indicar los equipos que no pueden acceder. En caso de que el equipo no aparezca en ninguna de las tablas, se considera que dispone de acceso al servicio. Para configurar un servicio de este tipo, hay que acceder al archivo /etc/inetd.conf y especificar el proceso /usr/sbin/tcpd en la línea correspondiente. Por ejemplo, para proteger el servicio finger, hay que introducir la siguiente línea (o modificar la existente): “finger stream tcp nowait root /usr/sbin/tcpd in.fingerd”. RA-MA CAPÍTULO 11: SEGURIDAD EN REDES 429 Llevar a cabo un control de los archivos ejecutables que tienen activado el bit s (como se mencionó en el capítulo 9, se trataba del bit SUID/SGID que hacía que el archivo se ejecutara con los permisos de su propietario). Estos archivos son peligrosos ya que un intruso puede utilizarlos para conseguir los privilegios de root en el sistema. Lo más lógico es comprobar cuáles son los archivos que realmente necesitan mantener ese bit activo y cuáles no (para quitárselo). Para obtener una lista de los archivos que tienen activado este bit, bastará con teclear el comando find / -type f -perm -06000 -print en la ventana de terminal. Así mismo, para quitar el bit s, bastará con utilizar el comando chmod, como se vio en el capítulo 9). Buscar de forma regular en el sistema todos los archivos que no tienen usuario o grupo propietario asignado. La existencia de estos archivos puede ser un indicio de que algún intruso ha accedido últimamente al equipo. Para buscar estos archivos, podemos utilizar el siguiente comando find / nouser -o -nogroup -print. Una vez más, utilizar los últimos parches y versiones del núcleo del sistema para protegerlo de posibles vulnerabilidades. 11.5. MEDIDAS DE SEGURIDAD EN LA RED Hasta ahora, se ha visto una serie de medidas básicas a tomar para impedir ataques a los sistemas de nuestra red. Sin embargo, además de realizar una correcta configuración de los equipos, también será necesario configurar convenientemente los dispositivos de interconexión de la red para mantener un buen nivel de seguridad. 11.5.1. Utilización de conmutadores Tradicionalmente, se ha considerado que los conmutadores de red ofrecen un mayor nivel de seguridad al limitar el tráfico a los segmentos que conecta e impedir que éste pueda salir al exterior. A primera vista, esta técnica impide que un intruso pueda capturar las tramas que circulan por el segmento utilizando un programa de escucha o sniffer. Sin embargo, en la actualidad, gracias a la aparición de nuevas herramientas, un atacante puede conseguir redirigir hacia su equipo el tráfico que debe mantenerse en los límites establecidos para el segmento de red. Todo esto se consigue falsificando los mensajes de difusión que envían los protocolos de resolución de direcciones (ARP y RARP) y los protocolos de encaminamiento, con el fin de desviar el tráfico del segmento. Esto hace que el intruso pueda obtener gran cantidad de información de la red asaltada, incluidos nombres de usuario y contraseñas que se han enviado a los servidores para realizar la autenticación en los inicios de sesión. 430 REDES DE ÁREA LOCAL RA-MA Por lo tanto, si un administrador de red desea impedir que el tráfico de ésta pueda ser capturado por una persona ajena a la organización, entonces no tendrá más remedio que utilizar programas para cifrar todos los mensajes que se envían al segmento o van destinados al exterior. Estos programas deben instalarse en las estaciones y en los encaminadores o cortafuegos que dan acceso al exterior. Por otra parte, también deberá configurar los equipos y encaminadores con entradas estáticas en sus tablas de encaminamiento y ARP, para impedir posibles redirecciones del tráfico. 11.5.2. Cortafuegos Un cortafuegos o firewall es un dispositivo de interconexión de redes encargado de la gestión de la seguridad. Este elemento ha aparecido en el mercado con el propósito de suplir las deficiencias de seguridad de Internet. Un cortafuegos no es más que un encaminador que tiene capacidad de observar el tráfico que circula a su través y decidir si está autorizado a pasar o no. Este filtrado se realiza en ambos sentidos, tanto para paquetes entrantes como salientes, y actúa igual que el portero de un edificio. Por lo tanto, el cortafuegos es el elemento que marca el límite entre la red local de la organización y el exterior, por lo que a veces también se le llama muro de seguridad. Figura 11.7. Funcionamiento básico de un cortafuegos. Estos dispositivos funcionan como un control fronterizo: controlan todo el tráfico que intenta entrar o salir. El modo de funcionamiento de un cortafuegos ofrece protección en varios casos fundamentales: Impide a usuarios no autenticados enviar paquetes potencialmente peligrosos al interior de la red, normalmente destinados a puertos específicos de los equipos. Prohíbe a los usuarios de la red local recibir contenidos no autorizados o programas destructivos. RA-MA CAPÍTULO 11: SEGURIDAD EN REDES 431 No permite que usuarios del exterior puedan obtener información del interior de la red local, ya sea referente a su estructura o a datos confidenciales que circulan por ella. EJEMPLO 11.3 Veamos ahora un ejemplo práctico de configuración de un cortafuegos para eliminar tráfico no deseado o potencialmente peligroso. Aunque el caso expuesto aquí puede resultar bastante aclaratorio para el lector, en la práctica los cortafuegos pueden configurarse con una mayor cantidad de opciones. Supongamos que en nuestra red tenemos varios servidores FTP y WWW a los que deseamos permitir su conexión con usuarios remotos. Además, también tenemos servidores Windows y Linux que necesitamos proteger. Una posible tabla de filtrado que podría configurarse en estas condiciones puede ser la siguiente: Protocolo TCP TCP TCP UDP Dirección origen * * * * Dirección destino 10.0.1.1 10.0.1.2 * * Puerto destino 21 80 * * Filtrado no no sí sí La primera línea especifica que el cortafuegos permite el paso de los paquetes destinados al servidor FTP cuya dirección es 10.0.1.1. Así mismo, la segunda línea indica que el cortafuegos también permite el paso de los paquetes destinados al servidor Web 10.0.1.2. Finalmente, las dos últimas líneas especifican que, para los demás servicios y puertos, el cortafuegos deberá descartar los paquetes entrantes. Además de los paquetes entrantes, el cortafuegos también se puede configurar para filtrar tráfico saliente y conexiones no deseadas. Así, se puede impedir que un usuario de la red interna pueda conectarse a servidores con contenidos poco éticos o potencialmente peligrosos. Al igual que otros dispositivos de interconexión de redes, los cortafuegos pueden implementarse por hardware o software. Hoy en día existen muchos productos en el mercado construidos tanto como dispositivos independientes (que podrían confundirse a primera vista con un puente o un encaminador), como productos software que se instalan sobre el sistema operativo. En el caso de Linux, algunas distribuciones incluyen programas cortafuegos bastante profesionales. Para los cortafuegos implementados por software hay que tener en cuenta que el equipo debe contar con dos adaptadores de red, uno conectado a la red interna y otro conectado al exterior (o al encaminador que conecta con el exterior). 432 REDES DE ÁREA LOCAL RA-MA Las distribuciones SuSE Linux también incluyen varios cortafuegos que se pueden instalar en el equipo: Personal-Firewall, un cortafuegos encargado de impedir la recepción de mensajes del exterior, y SuSEfirewall, una utilidad más profesional que ofrece gran cantidad de parámetros de configuración. La configuración de Personal-Firewall resulta bastante sencilla, aunque no dispone de filtrado de paquetes avanzado. Solamente utiliza el archivo de configuración /etc/rc.config.d/security.rc.config dentro del cual solamente se puede establecer el valor de la variable REJECT_ALL_INCOMING_CONNECTIONS. El valor que puede establecerse para esta variable es: no (indica que no está activo), yes (bloquea el tráfico entrante para todos los dispositivos de red), eth0 (se impide el tráfico entrante proveniente del adaptador de red), modem (se impide el tráfico entrante proveniente del módem), ippp0 (se impide el tráfico entrante proveniente del módem RDSI) y mask (especifica que todas las direcciones procedentes del exterior de la red serán enmascaradas de acuerdo con el protocolo NAT). Para activar el servicio SuSEfirewall, hay que poner la variable START_FW del archivo /etc/rc.config al valor yes. Por su parte, la configuración de SuSEfirewall se realiza en el archivo /etc/rc.config.d/firewall.rc.config y los parámetros que contiene son de dos tipos: parámetros del cortafuegos y parámetros de enmascaramiento (algunos tienen que ver con estos dos tipos a la vez). Éstos son: FW_DEV_WORLD: Especifica el dispositivo del equipo que está conectado a Internet (no a la red local). FW_DEV_INT: Especifica el dispositivo del equipo que está conectado a la red local. FW_ROUTE: Indica si está activado el encaminamiento entre Internet y la red local en este equipo. FW_MASQUERADE: Especifica si se van a enmascarar las direcciones de la red local a través de NAT. FW_MASQ_NETS: Indica las direcciones de equipos y redes que van a enmascararse. Además de las direcciones, también se pueden especificar protocolos de transporte que se usan y puertos de destino. FW_MASQ_DEV: Especifica el dispositivo del equipo que se va a enmascarar (el conectado al exterior). FW_PROTECT_FROM_INTERNAL: Establece si se va a proteger al equipo cortafuegos de la red local. FW_AUTOPROTECT_GLOBAL_SERVICES: Indica que se van a proteger todos los servicios de esta máquina. RA-MA CAPÍTULO 11: SEGURIDAD EN REDES 433 FW_SERVICES_EXTERNAL_TCP: Establece los servicios TCP que serán accesibles en este equipo desde el exterior. FW_SERVICES_EXTERNAL_UDP: Establece los servicios UDP que serán accesibles en este equipo desde el exterior. FW_SERVICES_EXTERNAL_IP: Establece otros servicios IP que serán accesibles en este equipo desde el exterior. FW_SERVICES_INTERNAL_TCP: Establece los servicios TCP que serán accesibles en este equipo desde la red local. FW_SERVICES_INTERNAL_UDP: Establece los servicios UDP que serán accesibles en este equipo desde la red local. FW_SERVICES_INTERNAL_IP: Establece otros servicios IP que serán accesibles en este equipo desde la red local. FW_TRUSTED_NETS: Establece las direcciones IP de los equipos del exterior que son fiables. FW_SERVICES_TRUSTED_TCP: Indica los servicios TCP a los que los equipos fiables (establecidos en el parámetro anterior) pueden acceder. FW_SERVICES_TRUSTED_UDP: Indica los servicios UDP a los que los equipos fiables (establecidos en el parámetro anterior) pueden acceder. FW_SERVICES_TRUSTED_IP: Indica otros servicios IP a los que los equipos fiables (establecidos en el parámetro anterior) pueden acceder. FW_SERVICES_TRUSTED_ACL: Lista de control de acceso que establece la dirección IP de equipos del exterior y el puerto al que pueden acceder de este equipo. FW_ALLOW_INCOMING_HIGHPORTS_TCP: Especifica si se permite el acceso a los servicios TCP de puertos altos. FW_ALLOW_INCOMING_HIGHPORTS_UDP: Especifica si se permite el acceso a los servicios UDP de puertos altos. FW_SERVICE_DNS: Indica si está funcionando un servidor DNS en la red local. FW_SERVICE_DHCLIENT: Indica si este equipo obtiene su dirección a través de un servidor DHCP de la red local. FW_SERVICE_DHCPD: Indica si este equipo es un servidor DHCP. 434 REDES DE ÁREA LOCAL RA-MA FW_SERVICE_SAMBA: Especifica si este equipo está funcionando como cliente o servidor Samba. FW_FORWARD_TCP: Establece qué direcciones del exterior pueden acceder a qué equipos de la red local y qué puertos de éstos con TCP. FW_FORWARD_UDP: Establece qué direcciones del exterior pueden acceder a qué equipos de la red local y qué puertos de éstos con UDP. FW_FORWARD_IP: Establece qué direcciones del exterior pueden acceder a qué equipos de la red local y qué puertos de éstos con otros servicios IP. FW_FORWARD_MASQ_TCP: Establece las direcciones que tienen acceso desde el FW_FORWARD_MASQ_UDP que establece las direcciones que tienen acceso desde el exterior y que serán enmascaradas para el uso de servicios UDP en la red interna. FW_REDIRECT_TCP: Especifica a qué direcciones se redirige el tráfico TCP desde el exterior o el interior. FW_REDIRECT_UDP: Especifica a qué direcciones se redirige el tráfico UDP desde el exterior o el interior. FW_LOG_DENY_CRIT: Indica si se registran todos los eventos producidos por paquetes críticos que han sido descartados por el equipo. FW_LOG_DENY_ALL: Indica si se registran todos los eventos producidos por todos los paquetes que han sido descartados por el equipo. FW_LOG_ACCEPT_CRIT: Indica si se registran todos los eventos producidos por paquetes críticos que han sido aceptados por el equipo. FW_LOG_ACCEPT_ALL: Indica si se registran todos los eventos producidos por todos los paquetes que han sido aceptados por el equipo. FW_KERNEL_SECURITY: Activa otros parámetros de seguridad del núcleo del sistema. FW_STOP_KEEP_ROUTING_STATE: Establece si el servicio de encaminamiento sigue activo aunque las reglas de filtrado se encuentren desactivadas (porque el equipo se esté iniciando o apagando). FW_ALLOW_PING_FW: Indica si el equipo cortafuegos responde a paquetes PING de eco. FW_ALLOW_FW_TRACEROUTE: Especifica si se permite el trazado de rutas en el interior de la red mediante el envío de paquetes ICMP. RA-MA CAPÍTULO 11: SEGURIDAD EN REDES 435 FW_MASQ_MODULES: Indica los módulos de enmascaramiento que serán utilizados. Existe una herramienta gráfica para realizar la configuración de los paquetes de cortafuegos de SuSE Linux, que se encuentra dentro de la utilidad YaST2 en la página “Seguridad&Usuarios”, llamada Configuración del cortafuegos. Sin embargo, ésta no facilita la configuración ya que se limita a editar los archivos que se han visto para poder modificar los valores de los parámetros en ellos. Para finalizar este apartado, se ha de indicar que existe un conjunto de puertos específicos que deben filtrarse por un cortafuegos para aumentar la seguridad, como ya se introdujo en el apartado 11.4. En este caso, hay que filtrar los siguientes puertos con el propósito de mantener el uso de NetBIOS sobre TCP/IP en las estaciones Microsoft Windows: Para proteger equipos Windows NT/2000, hay que eliminar el tráfico en los puertos 137, 139 (usados por NetBIOS) y el puerto 445 (servicio SMB). Para proteger un servidor Windows 2000, hay que impedir, además, el tráfico externo destinado a los puertos 389 (que se utiliza para consultar información sobre el directorio activo) y 3268 (para consultar el catálogo global). Por su parte, otros puertos TCP/IP que deben ser filtrados si es que deben permanecer activos en los equipos Linux son: Puerto 11 (systat). Puerto 15 (netstat). Puerto 69 (TFTP). Puerto 79 (finger). Puerto 540 (UUCP). Para obtener una lista de algunos puertos estandarizados en los sistemas TCP/IP, puede consultar el capítulo 6. 11.5.3. Programas de detección de intrusos Al igual que existen programas de rastreo y exploración de red, destinados al descubrimiento de equipos y puertos a la escucha, también existen programas de monitorización del tráfico de red destinados a detectar estas exploraciones. A estos programas se les llama detectores de intrusos. 436 REDES DE ÁREA LOCAL RA-MA Un programa de detección de intrusos funciona básicamente inspeccionando el tráfico que circula por la red. Sus rutinas pueden configurarse para la detección de barridos ping64, exploraciones de puertos, etc. Hay que tener en cuenta que una persona no puede controlar todo el tráfico de su red o segmento, ya que supone una tarea muy pesada y el tráfico suele ser bastante elevado. Siempre resulta conveniente disponer de un programa de detección de intrusos que busque tráfico sospechoso y genere información estadística para su estudio posterior. Sin embargo, hay que tener en cuenta que estos programas suelen tener dificultad para detectar intrusos más silenciosos, sobre todo porque éstos realizan exploraciones de direcciones y puertos aleatorios. 11.5.4. Servidores DNS Como se vio en el capítulo 6, un servidor DNS se utiliza para establecer correspondencias entre direcciones IP y direcciones de nombres. Sin embargo, los servidores DNS se pueden utilizar también por intrusos y atacantes para obtener información acerca de la organización interna de una red objetivo. Una cuestión muy importante que hay que tener en cuenta para mantener la seguridad es la de configurar los servidores DNS para impedir que puedan realizar una transferencia de zona y divulgar información sobre la estructura interna de la red, en lo referente a direcciones IP y nombres de equipos. Una transferencia de zona consiste en que un servidor DNS solicita a otro que le facilite sus tablas de correspondencias, con el fin de duplicar la información en caso de fallo de alguno de ellos. De lo que se trata es de impedir que cualquier usuario ajeno pueda obtener una copia de la información del servidor DNS por este método. En el caso de que se trate de un servidor DNS en Windows 2000, hay que acceder a la herramienta DNS, seleccionar el icono del dominio correspondiente, pulsar con el botón derecho del ratón y marcar la opción “Propiedades”. Seguidamente, habrá que acceder a la página “Transferencias de zona” y aparecerá una ventana como la de la figura 11.8. Si el servidor DNS está montado en Linux, la configuración deberá realizarse utilizando el parámetro allow-transfer en el archivo /etc/named.conf (secciones options o zones), especificando las direcciones IP de los servidores DNS a los que se puede realizar la transferencia de zona. Este parámetro funciona para la versión 8 o superior del servidor DNS y, si está utilizando versiones anteriores, deberá usar los parámetros tcplist o xfrnets (según sea la versión). Para más información, puede consultar las páginas del manual introduciendo el siguiente comando en la ventana del terminal: $ man named.conf Un barrido ping consiste en utilizar un programa que envíe paquetes ping a rangos de direcciones IP, con el propósito de descubrir equipos activos en la red. 64 RA-MA CAPÍTULO 11: SEGURIDAD EN REDES 437 Figura 11.8. Configuración segura de un servidor DNS en Windows 2000. Por defecto, en el sistema está marcada la casilla “A cualquier servidor”. Sin embargo, se puede configurar para permitir las transferencias de zona solamente a servidores de nombres concretos. 11.5.5. Encaminadores Los dispositivos encaminadores de una red también pueden sufrir ataques por parte de intrusos. Estos abusos tendrán como objetivo fundamental redirigir el tráfico mediante la modificación de las tablas de encaminamiento de los dispositivos. Ante este tipo de ataques, los equipos y los servidores de la red pueden quedarse inaccesibles, formando así un ataque DoS. Esta técnica resulta fácilmente aplicable ya que los algoritmos de encaminamiento RIP y RIP-2 son muy poco seguros. Éstos emplean métodos de autenticación para la recepción de información de encaminamiento bastante rudimentarios. Cualquier persona podrá enviar información a un encaminador para que actualice sus tablas y éste la tomará como válida. La solución a este problema de seguridad consiste en sustituir los algoritmos de encaminamiento RIP y RIP-2 por OSPF, el cual lleva a cabo un control de la seguridad en la información recibida. 438 REDES DE ÁREA LOCAL RA-MA 11.6. EJERCICIOS 11.1. Utiliza el comando NET USE para iniciar una sesión nula con un servidor Windows 2000. ¿Qué parámetros hay que introducir con este comando para conseguirlo? Utiliza la ayuda de la utilidad (tecleando NET USE /?). 11.2. Configura el servidor Windows 2000 para impedir el inicio de sesiones nulas como explica el texto del capítulo. Comprueba que funciona utilizando el comando NET USE del ejercicio anterior. 11.3. Obtén una lista de todos los servicios de red que están activos en el equipo Linux. ¿De dónde obtienes esta información? 11.4. Edita el archivo /etc/inetd.conf e indica cuáles son los servicios que puedes proteger utilizando el proceso tcpd. Para éstos, indica cuáles deben ser las modificaciones que debes realizar en el archivo /etc/inetd.conf. 11.5. Comprueba cuál es la información que ofrece el servicio systat a partir de su configuración en el archivo /etc/inetd.conf. ¿Puedes modificar la salida de este servicio? ¿Cómo? 11.6. Utiliza un programa de exploración de red para capturar todos los paquetes que un usuario envía cuando se conecta a un equipo Linux a través de Telnet y FTP. ¿Puedes obtener el nombre de usuario y la contraseña de la persona que está realizando la conexión? Repite el mismo proceso para una conexión ssh. ¿Qué ocurre en ese caso? 11.7. BIBLIOGRAFÍA Libros en castellano: [APR01] Aprenda Windows 2000 Server José Luis Raya y Elena Raya Ra-Ma, 2001 [FIR01] Manual de Firewalls Marcus Goncalves McGraw-Hill, 2001 [HAC01] Hackers 2. Secretos y soluciones para seguridad de redes Joel Scambray, Stuart McClure y George Kurtz McGraw-Hill, 2001 [PIR01] Piratas Cibernéticos, Cyberwars, Seguridad Informática e Internet J. de Marcelo Rodao Ra-Ma, 2001 RA-MA CAPÍTULO 11: SEGURIDAD EN REDES 439 [REH01] Manuales de la distribución Linux Red Hat 7.1. Varios autores Red Hat Inc., 2001 [SUS01] Manuales de la distribución SuSE Linux 7.3 Varios autores SuSE GmbH, 2001, 2.ª ed. [W9899] Windows 98 Jaime de Yraolagoitia Paraninfo, 1999, 3.ª ed. [WNT97] Windows NT Server 4. Instalación, configuración y administración José Luis Raya y Elena Raya Ra-Ma, 1997 [WNT98] Windows NT Server 4.0, manual avanzado Manuel Beato Víbora y Jorge Franco Rey Anaya, 1998 [W2K00] Windows 2000 Server: Instalación, configuración y administración José Luis Raya y Elena Raya Ra-Ma, 2000 Otra documentación electrónica: [MSW00] Documentación Windows 2000 en CD-ROM (Inglés) Microsoft Official Curriculum: Implementing and Administering Microsoft Windows 2000 Directory Services (Course 2154a) Microsoft corp., 2000 Páginas de Internet: [CYBENET] Apuntes y trabajos de temas de informática en general Varios autores http://www.cybercursos.net/ [LUCASES] Seguirdad Linux COMO (Linux HOW-TO Documents) Kevin Fenzi y Dave Wreski, 1999 http://lucas.hispalinux.es/ [SEIFORG] Guía de seguridad para el administrador de Linux (Inglés) Kurt Seifried http://www.seifried.org/lasg/ 440 REDES DE ÁREA LOCAL RA-MA APÉNDICE A ESTÁNDARES DE CABLEADO ESTRUCTURADO Un estándar de cableado estructurado especifica cómo debe organizarse la instalación del cableado de comunicaciones en edificios, sobre todo a nivel empresarial. Engloba todas las aplicaciones de comunicaciones, como voz, megafonía, conexiones de ordenadores, etc. El estándar especifica de forma concisa el tipo de cable a utilizar, conectores, longitudes máximas de los tramos, organización de los elementos de interconexión, etc. Aplicar un estándar de cableado estructurado a nuestra empresa nos ofrece muchas ventajas, entre las que destacamos: Facilita las tareas de mantenimiento y supervisión, ya que resulta más sencillo identificar las estructuras de cableado. Asegura un funcionamiento óptimo si se cumplen todos los requisitos del estándar. Posibilita la inclusión de una alta densidad de cableado. Permite la integración de diferentes tecnologías de redes. Resulta fácilmente ampliable. Existen tres estándares internacionales de cableado estructurado, que en la práctica tienen diferencias muy poco significativas: 442 REDES DE ÁREA LOCAL RA-MA ISO/IEC 11801: Estándar a nivel internacional. EN-50173: Norma europea basada en la anterior. ANSI/EIA/TIA-568: Norma utilizada en Estados Unidos. En este anexo se ha incluido una breve reseña de estos estándares, ya que se trata de un conjunto de especificaciones muy amplio. Nos remitiremos al montaje y organización del cableado, sin tener en cuenta aspectos de carácter eléctrico y electrónico. Todos los estándares mencionados incluyen compatibilidad para cableado telefónico convencional, redes Ethernet (exceptuando 10Base-2, 10Base-5 y 10Broad36), ATM, Frame Relay y RDSI. A.1. SUBSISTEMAS DE CABLEADO ESTRUCTURADO El conjunto de todo el cableado estructurado de un edificio es su sistema de comunicaciones. Puesto que está organizado en varias partes, existen diferentes subsistemas, cada uno de los cuales engloba un subconjunto de especificaciones. Figura A.1. Elementos del cableado estructurado. Diagrama simplificado. RA-MA APÉNDICE A: ESTÁNDARES DE CABLEADO ESTRUCTURADO 443 Esos subsistemas son los siguientes: Cableado de campus: Se utiliza para interconectar los diferentes edificios de la organización. Puesto que por éste circula gran cantidad de tráfico, se recomienda el uso de fibra óptica. Entrada del edificio: Es el punto en el que se conectan los cables exteriores con los cables interiores del edificio. Se puede decir que es la frontera que separa la instalación que es responsabilidad de la compañía de comunicaciones con la instalación privada gestionada por la empresa. Sala de equipamiento: Es el punto en el que confluyen todas las conexiones del edificio, por lo que su complejidad de montaje es mayor que la de cualquier otra sala. Se podría considerar que es la “sala de máquinas” de todo el bloque. Cableado troncal: Es el encargado de llevar a cabo la comunicación de todos los elementos del edificio, a través del cableado vertical (entre plantas), las conexiones con el exterior y los cables que comunican otros edificios colindantes. Se utilizará cableado UTP de hasta 800 m de longitud para transmisión de voz y FTP de hasta 90 m para transmisión de datos. En el caso de que se use fibra óptica, se permiten hasta 2.000 m en fibra multimodo y 3.000 m en fibra monomodo. Armarios de distribución: Es el lugar en el que confluyen los cables de comunicaciones. Contienen todos los concentradores de cableado, conmutadores, puentes, etc., montados en los armarios en rack y conectados mediante paneles de distribución. Existen varios tipos de armarios de distribución, dependiendo del lugar que ocupan dentro de la organización: distribuidor de campus (que conecta los diferentes edificios), distribuidor de edificio (montado en la sala de equipamiento) y distribuidor de planta (donde confluyen las conexiones de toda la planta). Cableado horizontal: Se extiende desde las conexiones de pared (también llamadas rosetas) de las oficinas y despachos hasta los armarios de comunicaciones. En el estándar se reconocen los siguientes medios: cable UTP 100 Ω de 4 pares, cable FTP 150 Ω de 2 pares y cable de 2 fibras de 62.5/125 µm (para enlaces de elevado tráfico). Así mismo, existen unos límites máximos en lo que se refiere a las longitudes de los cables: 5 m para los latiguillos que van de la estación a la roseta, 90 m de cableado interno y 6 m para los latiguillos de los armarios de comunicaciones. Área de trabajo: Es el punto de conexión entre los dispositivos (ordenadores, etc.) y las rosetas. En cada roseta se deberán instalar, al menos, dos conexiones, una para voz (RJ-11) y otra para datos (RJ-45). 444 REDES DE ÁREA LOCAL RA-MA La figura A.1 muestra de forma esquemática todos los elementos que intervienen en el cableado estructurado de un edificio. Más adelante se especificará con detalle la organización de los armarios de comunicaciones. A.2. ESPECIFICACIONES DE CONEXIONES El estándar ANSI/EIA/TIA-568 está dividido en varios boletines técnicos que establecen los elementos de transmisión. Éstos son: • TSB36: Especifica la utilización de cableado de par trenzado. • TSB40: Establece el uso del conector RJ-45 y los métodos para realizar empalmes de cableado. • TSB53: Especifica la utilización de cableado de par trenzado apantallado. La figura A.2 muestra la estructura de un par trenzado, junto con los conectores RJ-45 que se utilizan y el orden de numeración de los pines. Para enlazar el cable al conector, se utiliza una herramienta llamada engastadora. Figura A.2. Cableado UTP/FTP y conectores RJ-45 Los cables UTP y FTP suelen ir engastados de fábrica (a estos cables se les llaman latiguillos), aunque, si se desea montar el cableado interno de la red, será necesario engastarlos manualmente. En esas condiciones, es necesario cumplir una serie de normas, que aparecen resumidas esquemáticamente en la figura A.3. RA-MA APÉNDICE A: ESTÁNDARES DE CABLEADO ESTRUCTURADO 445 Los estándares de cableado estructurado definen varios tipos de conexiones que se pueden utilizar a la hora de ensamblar el cableado de par trenzado con el conector RJ-45 (véase la figura A.2), tanto machos como hembras. De todas ellas, las que más se utilizan son la ANSI/EIA/TIA-568A ANSI/EIA/TIA-568B y será el instalador el que decida cuál resulta más recomendable usar, sobre todo si ya existe cableado anterior que se desea reutilizar. Hay que tener en cuenta que no es aconsejable utilizar las dos normas a la vez al realizar el cableado de un edificio, ya que puede dar lugar a problemas de instalación y mantenimiento. Figura A.3. Enlace de un cable FTP a un conector RJ-45. Aquí aparecen las longitudes máximas de los tramos en el extremo del cable para asegurar que la transmisión se realizará con un margen de interferencias máximo aceptable. Los cables no se deben destrenzar más de 40 mm ni deben separarse de la malla más de 80 mm. Figura A.4. Conectores RJ-45 hembra. A la izquierda aparecen los conectores utilizados en los paneles de conexiones (véase apartado A.3), mientras que a la derecha aparece el conector RJ-45 hembra utilizado en las rosetas de pared. Para engastar estos conectores, se utiliza una herramienta diferente a las engastadoras de RJ-45 macho. Para el montaje de cables cruzados, se engasta cada extremo utilizando un estándar diferente (uno será 568A y el otro 568B). Este tipo de conexiones se utiliza para comunicar dos estaciones sin necesidad de utilizar un concentrador de cableado intermedio o en el cableado troncal cuando se conectan concentradores o conmutadores entre sí (y no existe ningún puerto que realice ese cruce de forma automática). RA-MA 446 REDES DE ÁREA LOCAL En este anexo no se incluye la especificación para el montaje de los conectores RJ-45 hembra de roseta y panel. Normalmente, cada fabricante utiliza un orden de colores diferente que suele ir convenientemente documentado en sus productos. A.2.1. ANSI/EIA/TIA-568A Según este estándar, la forma de engastar un cable UTP o FTP con un conector RJ-45 macho sigue el orden especificado en la tabla siguiente (véase la figura A.2 en donde aparece el orden de numeración de las patillas del conector). Tabla A.1. ANSI/EIA/TIA-568A Pin n.º 1 2 3 4 5 6 7 8 Par n.º 3 3 2 1 1 2 4 4 Color Blanco verde Verde Blanco naranja Azul Blanco azul Naranja Blanco marrón Marrón Uso Transmisión Masa Recepción Masa Transmisión Masa Recepción Masa A.2.2. ANSI/EIA/TIA-568B Según este otro estándar, los cables UTP o FTP se engastan al conector RJ-45 macho siguiendo el orden establecido en la tabla A.2. Hay que tener en cuenta que, como se ha indicado anteriormente, para el montaje de latiguillos cruzados que unan elementos de interconexión de redes, un extremo será 568A y el otro 568B. El orden de este montaje es indiferente. Tabla A.2. ANSI/EIA/TIA-568B Pin n.º 1 2 3 4 5 6 7 8 Par n.º 2 2 3 1 1 3 4 4 Color Blanco naranja Naranja Blanco verde Azul Blanco azul Verde Blanco marrón Marrón Uso Recepción Masa Transmisión Masa Transmisión Masa Recepción Masa RA-MA APÉNDICE A: ESTÁNDARES DE CABLEADO ESTRUCTURADO 447 A.2.3. Cableado UTP de 100 Ω Puesto que las necesidades de transmisión han ido en aumento, ha sido necesaria una mejora en la calidad del cableado UTP. Las capacidades de transmisión han sido divididas por categorías y se exponen en la tabla A.3. Tabla A.3. Categorías de cableado Categoría 3 Frecuencia de funcionamiento 16 Mhz 4 20 Mhz 5 100 Mhz 5e 100 Mhz 6 7 250 Mhz 600 Mhz Aplicaciones Ethernet (10 Mbps), Token Ring (4 Mbps), Localtalk y telefonía. Ethernet (10 Mbps), Token Ring (4 Mbps), Localtalk y telefonía. Ethernet (10-100 Mbps), Token Ring (4-16 Mbps) y ATM (155 Mbps). Ethernet (10-100 Mbps), Gigabit Ethernet (1 Gbps) y ATM (155 Mbps). Todavía en fase de desarrollo. Todavía en fase de desarrollo. Para asegurar la integridad completa del sistema, los cables horizontales deben terminar en cableado de la misma categoría (o superior). Así mismo, los cables utilizados para conectar los concentradores y los latiguillos también deben ser de la misma categoría (o superior). Finalmente, se debe mencionar que el cableado UTP de la red no cumplirá con la categoría 3, 4, 5, 6 ó 7 a menos que todos los componentes del sistema satisfagan los requerimientos de sus respectivas categorías. A.2.4. Cableado FTP de 150 Ω Los cables STP reconocidos son IBM tipo 1A para la distribución troncal y horizontal e IBM tipo 6A para los latiguillos. A.2.5. Cableado de fibra óptica Según el estándar ANSI/EIA/TIA-568, los conectores utilizados para los cables de fibra son los 568SC símplex/dúplex que aparecen en la figura A.5. El cableado horizontal se realizará utilizando cableado de fibra multimodo, con un mínimo de dos fibras (una para cada sentido de la transmisión). Por su parte, el cable troncal y el de campus se podrá realizar con fibra multimodo o monomodo (en caso de que las distancias excedan los 2 km). Se utiliza el color azul para identificar los conectores y adaptadores monomodo y el color beige, para los multimodo. RA-MA 448 REDES DE ÁREA LOCAL Figura A.5. Conectores 568SC para fibra óptica. La parte interior de cada roseta puede albergar conectores simplex o dúplex, pero en la parte externa estas conexiones deben ser siempre dúplex. A.2.6. Norma ISO/IEC 11801 La norma ISO/IEC 11801 es mucho más amplia que la ANSI/EIA/TIA-568, ya que determina también la distribución del cableado en edificios, además de las normas de cableado y conexiones que también incluye el estándar americano. La tabla A.4 muestra las diferencias entre estas dos normas en cuanto a cableado y conectores definidos. Tabla A.4. Algunas diferencias entre ISO/IEC 11801 y ANSI/EIA/TIA-568 Norma ANSI/EIA/ TIA-568 ISO/IEC 11801 Impedancia del cableado de cobre 100 Ω 120 Ω y 150 Ω Conectores para cobre Cableado de fibra óptica RJ-45 50/125 µm RJ-45 y empalmes 62,5/ 125 µm Conectores para fibra óptica 568SC ST A.3. INSTALACIÓN DEL CABLEADO Para conectar todas las estaciones de la red, se utilizan los armarios de comunicaciones. Éstos contienen los concentradores de cableado, conmutadores, puentes y encaminadores, aunque no se conectan directamente al cable de cada estación, sino que se sigue un conjunto de normas: Cada estación se conecta a un enchufe de pared (roseta) a través de un cable llamado latiguillo. RA-MA APÉNDICE A: ESTÁNDARES DE CABLEADO ESTRUCTURADO 449 Las rosetas se conectan internamente mediante cableado contenido en canalizaciones y canaletas de pared (con un máximo de 90 m de longitud). El cableado de las canalizaciones no se conecta directamente a los concentradores de cableado, sino que se utilizan unos dispositivos intermedios llamados paneles de parcheo (patch panels). Cada panel puede conectar uno o varios dispositivos de interconexión (dependiendo del número de puertos), aunque es conveniente por simplicidad que el dispositivo esté conectado a un solo panel. Los paneles de parcheo se conectan a los dispositivos de interconexión de la red a través de latiguillos de pequeña longitud (máximo 6 m). Se pueden utilizar latiguillos de colores para identificar las diferentes secciones o departamentos que conectan. Los paneles de parcheo y los dispositivos de interconexión, además de los armarios de comunicaciones, deben estar conectados a tierra. No es conveniente conectar en cascada más de dos concentradores de cableado si se desea cumplir con las especificaciones de categoría 5, 6 y 7. En caso necesario, estas conexiones deberán realizarse en estrella (utilizando un concentrador central). Figura A.6. Organización de un armario de comunicaciones. Cada dispositivo de interconexión necesita un panel de conexiones para conectarse al cableado de la instalación. 450 REDES DE ÁREA LOCAL RA-MA La figura A.6 muestra la organización interna de un armario de comunicaciones. La instalación de todos los elementos de interconexión se llama en rack, que consiste en atornillar todos los elementos a unas barras verticales convenientemente perforadas. Este método permite organizar más fácilmente el cableado en el interior del armario de comunicaciones. Toda esta organización de cableado tiene como objetivo permitir una mejor administración de la red, aislando más rápidamente problemas en las conexiones y permitiendo una mayor facilidad a la hora de realizar cambios y ampliaciones. A.3.1. Certificación de la instalación La certificación de una instalación de cableado se utiliza para comprobar que ésta es adecuada para las necesidades de comunicación de la organización. Esta certificación permite comprobar también que todas las conexiones se han realizado correctamente (pares sueltos, niveles de ruido, etc.) y que no existen cables mal instalados en los conductos (torsiones mínimas, radios de curvatura, etc.). Todos los estándares de cableado estructurado establecen una serie de normas a seguir a la hora de certificar una instalación de cableado. La certificación del cableado se realiza utilizando aparatos portátiles que miden los parámetros más importantes del cableado: diafonía, atenuación y longitud. Estos aparatos se denominan genéricamente testers de red. Los más sencillos permiten solamente comprobar si los conectores se han engastado convenientemente (todos los pines están unidos), mientras que los más sofisticados son capaces de medir radios de curvatura de los cables, longitudes, etc. Dependiendo del tipo de aplicación, categoría y velocidad máxima de transmisión de la instalación del cableado, los certificados que se realizan tienen en cuenta diferentes valores de diafonía, atenuación y longitud. Evidentemente, cuanto mayor sea la velocidad de transmisión y categoría a certificar, mayores serán también las exigencias de los valores indicados anteriormente. A.4. OTROS ESTÁNDARES RELACIONADOS Además de las normas expuestas en apartados anteriores, existen otras muchas también relacionadas con el cableado estructurado en edificios. Algunas de las más importantes son las siguientes: ANSI/EIA/TIA 569: Establece las características de instalación del cableado en edificios, teniendo en cuenta los espacios disponibles y las remodelaciones que se puedan realizar. ANSI/EIA/TIA 606: Establece un método de administración uniforme para el sistema de cableado. RA-MA APÉNDICE A: ESTÁNDARES DE CABLEADO ESTRUCTURADO 451 ANSI/EIA/TIA 607: Especifica las normas a seguir para la instalación de tomas de tierra en edificios comerciales. A.5. BIBLIOGRAFÍA Libros en castellano: [RAL97] Redes de área local Greg Nunemacher Paraninfo, 1997 [RED01] Redes Locales José Luis Raya y Cristina Raya Ra-Ma, 2001 Páginas de Internet: [CYBENET] Apuntes y trabajos de temas de informática en general Varios autores http://www.cybercursos.net/ [NULCOM] Descripción de los distintos conectores e interfaces de comunicación Varios autores (en inglés) Jim Price, 2001 http://www.nullmodem.com/ [SIEMCOM] Normas de cableado estructurado y categorías de cableado Varios autores (en inglés) http://www.siemon.com/white_papers/ APÉNDICE B CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO En este apéndice se explican todos los pasos necesarios para realizar la correcta configuración de red de un equipo. Esta configuración incluye la inserción del adaptador (ya sea módem para acceso a una red de área extensa o tarjeta de red en una LAN), la inclusión de los archivos y librerías correspondientes y la especificación de los parámetros asociados a la arquitectura utilizada (direcciones, protocolos, etc.). Todas estas cuestiones se tratarán a fondo para los sistemas operativos que se han visto a lo largo de este libro: Microsoft Windows y Linux. B.1. CONFIGURACIÓN DE RED EN WINDOWS Los sistemas operativos de Microsoft siempre se han caracterizado por su simplicidad en los procesos de instalación y configuración de nuevos dispositivos. Este apartado cubre desde la instalación y configuración de una tarjeta de red hasta la gestión de aplicaciones de red en servidores. B.1.1. Instalación y configuración de un módem La instalación de un módem en cualquiera de las versiones de Microsoft Windows resulta bastante sencilla. Al igual que un adaptador de red, este dispositivo puede ser Plug and Play, de forma que, una vez instalado en la ranura de expansión correspondiente, es detectado automáticamente en el inicio del sistema. En caso de que el módem no sea detectado (o si está conectado al puerto serie), habrá que seleccionar la opción “Agregar nuevo hardware” accesible desde el panel de control. Después habrá que optar por la opción “No, deseo seleccionar el hardware e instalar de una lista”, seleccionar el icono “Módem” de la lista “Tipos de hardware” y pulsar en el botón “Siguiente”. Si el tipo de módem no aparece en la lista, 454 REDES DE ÁREA LOCAL RA-MA hay que pulsar en el botón “Utilizar disco...” para usar el disco de controladores suministrado por el fabricante. Esta última opción resulta más adecuada que usar los controladores de Windows, ya que pueden estar anticuados. Por último, habrá que reiniciar el equipo para que los cambios tengan efecto. Además de la configuración del dispositivo, es necesario crear una conexión para establecer cuál es el número de teléfono del proveedor que va a dar acceso a Internet. Para ello, se selecciona la opción “Programas || Accesorios || Comunicaciones || Acceso telefónico a redes” del menú de inicio. Gracias a esta utilidad, el sistema puede gestionar varios proveedores de acceso (figura B.1). Figura B.1. Ventana de administración de conexiones telefónicas en Windows 98. Para configurar una nueva conexión, haremos doble clic sobre el icono “Realizar nueva conexión”. Figura B.2. Ventana de configuración del número de teléfono del proveedor de acceso. A esta ventana se accede desde el administrador de acceso telefónico pulsando sobre el icono “Realizar nueva conexión”. RA-MA APÉNDICE B: CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO 455 B.1.2. Instalación y configuración de un adaptador de red La instalación de un adaptador de red en un entorno Microsoft Windows resulta bastante sencilla si se trata de un dispositivo Plug and Play (de configuración automática), ya que el sistema operativo detecta el adaptador e inicia un asistente para simplificar todo el proceso. En caso de tratarse de una tarjeta más antigua que no soporta Plug and Play, será necesario iniciar la utilidad Agregar nuevo hardware accesible desde el Panel de control. Es recomendable utilizar el disco de controladores suministrado por el fabricante antes que los incluidos en los discos de instalación del propio sistema operativo (a no ser que estos últimos contengan una versión más actualizada). Dada la popularidad de los entornos Windows, los fabricantes suelen incluir los archivos de controladores para estos sistemas, siendo más difícil encontrar los necesarios para Novell o Unix/Linux. Una vez instalados los controladores, el sistema solicita el disco de instalación del sistema operativo para copiar otros archivos necesarios (normalmente, los relacionados con el cliente de red, la pila de protocolos, etc.). Seguidamente, se solicita reiniciar el equipo para que todos los programas y controladores instalados se carguen en memoria en el siguiente inicio de sesión. Figura B.3. Ventana del administrador de dispositivos en Windows 98. Aquí se puede comprobar qué dispositivos se encuentran instalados, además de modificar sus parámetros de configuración. 456 REDES DE ÁREA LOCAL RA-MA Después de haber instalado los controladores y haber reiniciado el equipo, es el momento para conectar el latiguillo de red. Esta operación se puede realizar en cualquier momento, en el caso de tarjetas que utilicen cableado de par trenzado (habrá que comprobar si se enciende la luz de conexión de la tarjeta). Sin embargo, si se está usando una tarjeta de cable coaxial, primero hay que conectar el cable y luego iniciar el sistema, ya que, si se hace al revés, el adaptador no se conecta a la red. Al iniciar, debe aparecer el icono de la tarjeta dentro del administrador de dispositivos (accesible desde la utilidad sistema del panel de control de Windows 98 o desde las propiedades de “Mi PC” seleccionando la página “Hardware” y el botón “Administrador de dispositivos” en Windows 2000). La figura B.3 muestra la ventana del administrador de dispositivos en Windows 98. El acceso a las propiedades del adaptador también se puede realizar desde las propiedades del icono red del escritorio o del panel de control, tanto en Windows 98 (en la página “Configuración”) como en Windows NT (en la página “Adaptadores”) o en Windows 2000 (en las propiedades del icono “Conexión de área local”), como muestran las figuras B.4 y B.5. En todos los casos se pueden consultar los parámetros de configuración del dispositivo (interrupción asignada, rangos de memoria que utiliza, etc.). Aunque es posible modificar esos valores, no es conveniente hacerlo cuando el dispositivo funciona correctamente, sobre todo porque las tarjetas PCI se configuran automáticamente gracias al servicio Plug and Play (PnP). Figura B.4. Ventana de propiedades del entorno de red en Windows 2000. Como se puede observar, esta ventana resulta bastante parecida a la versión anterior de Windows 98. Aquí se pueden instalar o desinstalar los servicios y protocolos y asociarlos al adaptador de red. RA-MA APÉNDICE B: CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO 457 Figura B.5. Ventana de propiedades del entorno de red en Windows NT. En la página “Adaptadores” se pueden consultar los adaptadores de red instalados para el equipo. Sin embargo, en el caso de instalar una tarjeta de red ISA, puede ser necesario modificar los valores de interrupción y rangos de memoria asignados por defecto al dispositivo, si es que éste no soporta el modo Plug and Play. Esta situación puede producirse cuando el adaptador entra en conflicto con otros dispositivos ya instalados o de la propia placa base (usan la misma interrupción, por ejemplo). Una vez instalado convenientemente el controlador de dispositivo necesario para la tarjeta, hay que instalar también la pila de protocolos de la arquitectura para permitir que el adaptador tenga acceso a la red. Por defecto, el sistema instala la pila de protocolos TCP/IP, aunque, para el caso de las redes Microsoft, es necesario incluir también la pila NetBIOS/SMB. Para ello, es necesario instalar el Cliente para redes Microsoft en la versión del sistema operativo correspondiente: En Windows 98 hay que acceder a las propiedades de red, página “Configuración” y pulsar sobre el botón “Agregar”. Seguidamente se selecciona el elemento de tipo Cliente y, finalmente, se toma del fabricante Microsoft el Cliente para redes Microsoft. El sistema solicitará el disco de instalación de Windows para completar la operación. 458 REDES DE ÁREA LOCAL RA-MA En Windows NT la instalación del cliente es igual que la de Windows 98, salvo que ésta se realiza pulsando en el botón “Agregar” de la página “Servicios” de las propiedades de red. En Windows 2000 la configuración se realiza de forma parecida a los anteriores, pero en este caso hay que pulsar sobre el botón “Instalar” de la ventana de propiedades de la conexión de red (la figura B.4). La configuración del cliente para redes Microsoft (nombre del equipo y grupo de trabajo o dominio al que se va a conectar) se realiza desde: La página “Identificación” de las propiedades de red y desde la ventana de propiedades del Cliente para redes Microsoft en Windows 98. La página “Identificación” de las propiedades de red en Windows NT (si es que el equipo no es un controlador primario de dominio). La página “Identificación de red” de las propiedades del sistema (Mi PC) en Windows 2000 Professional, como muestra la figura B.6. Hay que tener en cuenta que en las versiones Windows 2000 Server o Advanced Server no se utiliza esta configuración cuando éstos funcionan como controladores primarios de dominio. Figura B.6. Ventana de identificación de red en Windows 2000 Professional. Aquí se puede establecer el dominio o grupo de trabajo al que pertenece el equipo. RA-MA APÉNDICE B: CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO 459 Figura B.7. Ventana de configuración de los parámetros de TCP/IP en Windows NT. Ésta es bastante parecida a la ventana de configuración de TCP/IP que usa Windows 98. Si se desea utilizar una dirección obtenida de un servidor DHCP, en esta ventana hay que marcar la opción “Obtener dirección IP de un servidor DHCP”. Finalmente, para completar la configuración, hay que especificar los parámetros de la arquitectura TCP/IP (dirección IP y máscara o servidor DHCP, puerta de enlace por defecto, nombre de dominio, direcciones IP de los servidores DNS y direcciones IP de los servidores WINS). Estos valores se deberán establecer en las siguientes ventanas, dependiendo de la versión de Microsoft Windows utilizada: En Windows 9x, seleccionar el icono “TCP/IP” en la ventana de propiedades de red y pulsar el botón “Propiedades”. Los parámetros de configuración están accesibles en las páginas “Dirección IP”, “Puerta de enlace”, “Configuración DNS” y “Configuración WINS”. En caso de que se desee utilizar un servidor DHCP para asignar las direcciones de forma automática, habrá que marcar el botón de opción “Obtener una dirección IP automáticamente” de la página “Dirección IP” (como se mencionó en el capítulo 6, no hay que especificar ninguna dirección de servidor DHCP). Para la configuración DNS hay que activar la opción “Activar DNS” e introducir el nombre del equipo, dominio al que pertenece y direcciones IP de servidores DNS conocidos. 460 REDES DE ÁREA LOCAL RA-MA En Windows NT, seleccionar el icono “TCP/IP” desde la página “Protocolos” de la ventana de propiedades de red y pulsar en el botón “Propiedades...” (véase la figura B.7). Esto muestra una ventana como la de la figura B.5, donde se establecen todos los valores de TCP/IP. En Windows 2000, seleccionando el icono “TCP/IP” de la página de propiedades de conexión de área local (figura B.6) y pulsando sobre el botón “Propiedades”, como se muestra en la figura B.8. Figura B.8. Ventana de configuración de los parámetros de TCP/IP en Windows 2000. Pulsando en el botón “Avanzada...” se puede acceder a la configuración de TCP/IP en cuanto a servidores DNS, WINS, puertas de enlace, etc. En Windows también existe una tabla local que almacena algunas correspondencias de direcciones de dominio y direcciones IP. Esta tabla se guarda en el archivo C:\WINDOWS\HOSTS.SAM y, por defecto, siempre tiene la dirección 127.0.0.1 con el nombre del equipo local. El formato del archivo es sencillo: cada entrada se almacena en una fila que está compuesta de dos columnas (dirección IP y dirección de dominio) separadas por un tabulador. Para comprobar que la configuración de red funciona correctamente, se puede utilizar el comando PING de DOS. Con este comando, podemos enviar paquetes de control a otra estación de la red. Si esos paquetes son devueltos a la estación de origen, querrá decir que la tarjeta está correctamente configurada y existe acceso a la red. RA-MA APÉNDICE B: CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO 461 El comando PING tiene la siguiente sintaxis: PING [-a] [-n número] [-w tiempo] dirección_IP_destino Donde: -a: Resuelve direcciones a nombres DNS de equipos. -n número: Número de paquetes a enviar antes de finalizar este programa. -w tiempo: Indicación del tiempo de espera máximo para las respuestas en milisegundos. -dirección_IP_destino: Especifica la dirección IP del equipo al que se van a enviar los paquetes. Si la máquina está accesible, entonces es ésta la que contesta con otros paquetes de confirmación. Las direcciones IP que se pueden utilizar con el comando PING pueden ser: 127.0.0.1 para especificar la propia estación (si se usa ésta, el paquete no llega a enviarse por la red, ya que es la propia tarjeta la que contesta en caso de que funcione correctamente), la dirección IP asignada al equipo (al usar esta dirección, el paquete sí que es enviado por la red, y es la propia estación la que contesta enviando otro paquete) y cualquier otra dirección IP de una estación de la red que esté encendida y funcione correctamente. Para consultar la configuración TCP/IP en Windows, no es necesario acceder a todas las ventanas que se han visto hasta ahora. En su lugar, se puede utilizar el comando IPCONFIG /ALL o la utilidad WINIPCFG (sólo para versiones Windows 9x) para consultar de forma resumida los parámetros actuales de la red en el equipo. La figura B.9 muestra la ventana principal de esta utilidad. Hay que tener en cuenta que este programa solamente sirve de consulta rápida y no permite realizar modificaciones en la configuración de la red. Para la configuración de las estaciones cliente del servicio DNS, es recomendable incluir todas las direcciones IP de servidores que se conozcan, por si alguno de ellos deja de funcionar en un momento dado (lo que dejaría al equipo sin posibilidad de resolver las direcciones de dominio). Todos los sistemas operativos permiten incluir en su configuración más de una dirección IP de servidor DNS para resolver direcciones. Un protocolo que no es necesario configurar es ARP, ya que esta cuestión se lleva a cabo de forma automática por el sistema. De todas formas, el usuario puede consultar el estado de la tabla ARP actual mediante el siguiente comando: c:\> ARP -a 462 REDES DE ÁREA LOCAL RA-MA Figura B.9. Ventana principal de la utilidad WINIPCFG en Windows 98. Con esta utilidad se puede consultar de una forma rápida los parámetros de red actualmente configurados en el sistema. En la lista desplegable situada justo debajo del título “Ethernet Información del adaptador” se especifica el tipo, fabricante y modelo de tarjeta de red. En caso de que exista más de una, se puede seleccionar para consultar su información de configuración. Finalmente, los botones “Liberar”, “Liberar todo”, “Renovar” y “Renovar todo” se utilizan para parar o reiniciar el funcionamiento de los adaptadores. Así mismo, se pueden incluir entradas estáticas utilizando el modificador -s del comando ARP y especificando la dirección IP y la dirección MAC, como en este ejemplo: c:\> ARP -s 192.168.0.44 00-F1-44-06-A8-52 Necesitaremos configurar la resolución WINS en caso de que queramos conectarnos a una red Microsoft a través de TCP/IP o especificar un equipo a partir de su dirección IP (en todos los casos, NetBIOS funciona sobre TCP/IP). Mantendremos desactivado este servicio (es la configuración por defecto) en caso de que no necesitemos realizar la traducción al especificar directamente los nombres NetBIOS. La configuración WINS se encuentra en la ventana de propiedades de TCP/IP (página “WINS”). La ventana de configuración de un cliente WINS en Windows 98 aparece en la figura B.10. Por defecto, la configuración WINS se encuentra inactiva, aunque, si se activa, es necesario especificar las direcciones IP de los servidores WINS de la red. Se recomienda activar la casilla “Usar DHCP para resolución WINS” para poder obtener la configuración WINS de un servidor DHCP de forma automática. RA-MA APÉNDICE B: CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO 463 Figura B.10. Configuración de un cliente WINS en Windows 98. Si se activa la opción, es necesario especificar las direcciones IP de los servidores. En caso contrario, es conveniente marcar la opción “Usar DHCP para resolución WINS”, si es que en nuestra red existe un servidor DHCP. Es posible establecer correspondencias WINS entre nombres NetBIOS y direcciones IP a través de una tabla local almacenada en el archivo del sistema C:\WINDOWS\LMHOSTS.SAM. En este archivo se incluye texto aclaratorio para incluir nuevas entradas de este tipo. Todo lo explicado anteriormente debe realizarse para configurar los parámetros del protocolo TCP/IP asociado con el adaptador de red. Sin embargo, también puede ser necesaria la inclusión de los protocolos de la red Microsoft o Novell NetWare, con el propósito de acceder a los servicios de éstas. Esta cuestión ya se introdujo en el capítulo 2, apartado 2.4. Cuando se instala una estación Windows, también se incluye por defecto el servicio denominado Cliente para redes Microsoft. Éste incluye todos los protocolos de la arquitectura Microsoft para permitir que el usuario pueda acceder a los recursos compartidos de ésta. La configuración de este cliente se accede pulsando en el botón “Propiedades” en la ventana de propieades del icono “Red” o el panel de control (como se muestra en la figura B.11). 464 REDES DE ÁREA LOCAL RA-MA Figura B.11. Ventana de configuración del cliente para redes Microsoft. Por defecto, está configurado para el inicio de una sesión en la red Microsoft. Si se desea acceder a un dominio de Windows NT/2000, solamente habrá que marcar la casilla de verificación “Iniciar sesión en el dominio de Windows NT” (véase la figura B.11). En el cuadro de texto “Dominio de Windows NT” se especifica el nombre del dominio al que se desea conectar. Es conveniente que se establezca este mismo valor dentro del campo “Grupo de trabajo” de la página “Identificación” dentro de las propiedades del entorno de red, con el fin de que el usuario pueda explorar directamente el dominio al que se ha conectado. En el caso de que se deseen compartir carpetas o impresoras en los grupos de trabajo de la red Microsoft, hay que instalar también el servicio Compartir impresoras y archivos para redes Microsoft. Sin este servicio, se podrán acceder a los recursos compartidos remotos, pero el usuario no podrá compartir los suyos. Por su parte, para poder acceder a los servicios de la red Novell, hay que instalar el protocolo IPX/SPX y el servicio denominado Cliente para redes NetWare. Éstos se incluyen en el disco de instalación de Windows o también pueden ser proporcionados directamente por Novell. El usuario puede seleccionar a qué red se desea conectar utilizando la lista desplegable “Inicio de sesión principal”, que aparece en las propiedades de red (véase la figura B.12). Sin embargo, la selección de una red u otra no impide una conexión exclusiva a ella, ya que el sistema suele mostrar las ventanas de inicio de sesión para las redes Microsoft y Novell, una a continuación de la otra. RA-MA APÉNDICE B: CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO 465 Figura B.12. Ventana de configuración de red en Windows 98. La lista “Están instalados los siguientes componentes de red” muestra los clientes, servicios y protocolos instalados. B.2. CONFIGURACIÓN DE RED EN LINUX Aunque las nuevas distribuciones de Linux que van apareciendo en el mercado son cada vez más sencillas de configurar y ofrecen más herramientas en entorno gráfico, lo cierto es que en algunas cuestiones todavía el método de configuración puede ser más complejo que otros sistemas. De hecho, la mayoría de las opciones de configuración básica se pueden realizar sin problemas a través de utilidades en entorno gráfico y de forma parcialmente automática. Sin embargo, cuando la configuración se aleja de las situaciones normales o es necesario configurar servicios específicos, entonces el administrador no tiene más remedio que pelearse con archivos de texto repartidos por todo el sistema de ficheros. B.2.1. Instalación y configuración de un módem Para configurar un módem en Linux, no es necesario recompilar el núcleo, debido a que las distribuciones suelen incluir una compilación estándar con soporte a dispositivos módem. Sin embargo, sí que deben existir algunos paquetes instalados para que la configuración sea correcta, como el demonio pppd y algún otro programa que permita establecer y liberar conexiones (si es que el módem es analógico). 466 REDES DE ÁREA LOCAL RA-MA Como se mencionó en el capítulo 3, los módem internos de tipo winmodem necesitan de un controlador de dispositivo específico que debe ser suministrado por el fabricante para su uso en Linux. En caso de que no exista tal controlador, no podemos hacer nada; en todo caso, tirarlo a la basura y adquirir otro. Cualquier módem debe asociarse con un puerto serie, ya sea uno físico (normalmente las placas base incluyen COM1 y COM2) o uno lógico, es decir, que no existe físicamente (como COM3 y COM4). Los archivos de dispositivo asociados a un módem en Linux son /dev/ttyS0 (asociado a COM1), /dev/ttyS1 (asociado a COM2), /dev/ttyS2 (asociado a COM3) y /dev/ttyS3 (asociado a COM4). La mejor opción consiste en utilizar /dev/ttyS1, ya que los demás controladores pueden interferir con otros dispositivos conectados a COM1 (un ratón serie, por ejemplo). Además, la elección de /dev/ttyS2, /dev/ttyS3 u otras combinaciones de dispositivo e interrupción hace imprescindible su configuración mediante el comando setserial: $ setserial dispositivo [irq número] Figura B.13. Ventana de administración de dispositivos de red del panel de control en Linux Red Hat. Desde esta ventana se puede establecer la configuración de cualquier dispositivo de red: adaptadores, módem analógicos, RDSI, ADSL, etc. Una vez hecho esto, hay que utilizar la herramienta correspondiente para configurar el protocolo PPP y el proveedor de acceso. Para ello, podemos usar el icono “Network Device Control” del panel de control en Red Hat Linux. Sobre la ventana que aparece (figura B.13), hay que seleccionar de la lista “Tipo de dispositivo” el elemento “Conexión del módem” y pulsar en el botón “Siguiente”. El asistente intentará detectar el dispositivo de forma automática y, seguidamente, presentará su ventana de configuración, como se muestra en la figura B.14. Una vez establecidos los parámetros, queda configurar la conexión con el proveedor (figura B.15). RA-MA APÉNDICE B: CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO 467 Figura B.14. Ventana de configuración de módem en Linux Red Hat. Además del nombre del controlador, se pueden establecer otros parámetros de funcionamiento del dispositivo. Figura B.15. Ventana de configuración de la conexión con el proveedor en Red Hat Linux. Aquí se establece el nombre y número de teléfono del proveedor y el usuario para la conexión. 468 REDES DE ÁREA LOCAL RA-MA Si estamos trabajando en el entorno SuSE Linux, la configuración no difiere de la de Red Hat, aunque la herramienta utilizada en este caso es YaST o YaST2. Desde YaST2 hay que seleccionar el icono “Módem” del grupo “Red/Básica” y aparecerá una ventana como la de la figura B.16. Los pasos a seguir para la configuración son muy parecidos a los que se han seguido en Red Hat. Figura B.16. Ventana de configuración de módem en SuSE Linux. Obsérvese el parecido con la ventana de configuración de módem de Red Hat que aparece en la figura B.14. B.2.2. Instalación y configuración de un adaptador de red La configuración de un adaptador de red en Linux requiere también de la instalación del controlador de dispositivo asociado. Sin embargo, a diferencia de otros entornos, en Linux todos esos programas se pueden instalar de dos formas distintas: Recompilando el núcleo de Linux para dar soporte al dispositivo. Incluyendo el controlador como un módulo cargable del núcleo. La segunda opción suele ser más recomendada, ya que permite activar o desactivar el dispositivo cargando o descargando el módulo. Además, la no inclusión del módulo en el núcleo permite que este último ocupe un tamaño menor, situación que siempre es deseable con el fin de evitar problemas cuando el sistema debe cargarlo al arrancar. La segunda opción también permite que la carga del módulo se realice de forma automática en el arranque, o de forma manual por los usuarios autorizados (como mínimo, será root). Para gestionar los módulos del núcleo, se pueden utilizar los comandos lsmod (muestra los módulos cargados actualmente), insmod (carga un RA-MA APÉNDICE B: CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO 469 módulo) o rmmod (descarga un módulo), o acceder en el entorno gráfico a la configuración de los módulos cargables del núcleo dentro del panel de control (control-panel) de Linux Red Hat. La figura B.17 muestra la ventana gráfica de esta utilidad. Si estamos utilizando SuSE Linux, podemos acceder a las mismas opciones desde las utilidades YaST y YaST2. Todos los cambios que se realicen en estas utilidades serán actualizados en los parámetros correspondientes del archivo de configuración de módulos cargables del núcleo (es /etc/modules.conf). Figura B.17. Ventana de configuración de los módulos cargables del núcleo en Red Hat 6.2. Esta utilidad permite cargar y descargar módulos manualmente, para dar soporte a dispositivos no configurados dentro del propio núcleo. En las últimas versiones de Linux disponibles actualmente no es necesario configurar manualmente el adaptador de red instalado, ya que el núcleo suele detectarlo automáticamente para seleccionar el módulo de carga adecuado. Sin embargo, sí es necesaria esa configuración manual cuando hay problemas en la detección o existe más de una tarjeta instalada. Al finalizar este apartado, se expone más a fondo la configuración manual de un adaptador de red en Linux. Para las tarjetas de red Ethernet, Linux asigna un nombre de controlador al estilo ethx, donde x es un número entero entre 0 y 3. En realidad, ese nombre es un alias asociado con el controlador específico de la tarjeta (módulo cargable). Si el sistema detecta la tarjeta de red instalada en el primer arranque, el comando siguiente debe devolver un conjunto de parámetros que comienzan con eth065: $ ifconfig eth0 Una vez detectada la tarjeta, sólo hay que especificar el módulo a cargar (controlador) y los parámetros de TCP/IP. Todo ello se puede configurar desde el panel de control de Red Hat, a través del icono “Network Configuration”, página “Dispositivos”. La figura B.18 muestra la ventana principal de esta utilidad. El comando ifconfig en Linux es muy parecido al comando ipconfig del DOS y Windows, aunque este último solamente se utiliza para consultar los parámetros de TCP/IP. 65 470 REDES DE ÁREA LOCAL RA-MA Figura B.18. Ventana principal de configuración de un adaptador de red en Linux Red Hat (versiones 7.0 o superiores). En esta ventana aparece una lista de los adaptadores de red detectados que pueden activarse o desactivarse en cualquier momento. Utilizando los botones “Agregar” y “Configurar”, es posible establecer los parámetros del dispositivo en lo que se refiere a tipo y fabricante, nombre de controlador, etc. Si el núcleo detecta algún dispositivo instalado, cargará de forma automática el módulo correspondiente. Puede ocurrir que no detecte el modelo de tarjeta instalada, pero, en ese caso, la podemos seleccionar de una lista desde la página “Hardware” y pulsando el botón “Modificar”, siempre en la ventana de configuración de red (véase la figura B.19). En caso de que el adaptador de red no aparezca en la lista, habrá que buscar otro compatible o instalar el controlador proporcionado por el fabricante. Una vez establecido el modelo de adaptador de red, hay que establecer la configuración de los parámetros del protocolo TCP/IP (dirección de red y máscara, dirección de la puerta de enlace, direcciones de los servidores de nombres, etc.). Esto se puede realizar desde las páginas accesibles en la ventana asociada al icono “Network Configuration” (figura B.18). La dirección IP del adaptador, su máscara y la dirección de la pasarela por defecto se configura accediendo a la página “Dispositivos”, seleccionando el elemento de la lista y pulsando el botón “Modificar”. Puede indicarse también una dirección asignada por DHCP, si es que disponemos de un servidor de este tipo en nuestra red. RA-MA APÉNDICE B: CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO 471 Figura B.19. Configuración hardware de un adaptador de red en Red Hat (versión 7.0). Utilizando el botón “Modificar”, podemos establecer el fabricante y modelo de dispositivo. Figura B.20. Configuración de la tabla local de equipos en el cliente DNS en Linux Red Hat. Aquí se establecen las correspondencias de direcciones de dominio y direcciones IP. 472 REDES DE ÁREA LOCAL RA-MA La configuración del servicio DNS en la estación se realiza dentro de las páginas “Hosts”, “DNS” y de la configuración de red (véanse las figuras B.20 y B.21). En la configuración DNS se especifica el nombre de dominio del equipo, algunos nombres de dominio y direcciones IP de equipos conocidos (tabla de hosts local) y las direcciones IP de servidores DNS de la red. Figura B.21. Configuración de un cliente DNS en Linux Red Hat. Aquí se especifica el nombre de dominio del equipo local y las direcciones IP de servidores DNS. Se recomienda especificar todos los servidores DNS que se conozcan, por si falla alguno de ellos. En el caso de SuSE Linux, la idea básica de configuración del adaptador es la misma que en Red Hat, pero los programas gráficos son diferentes. Si se dispone de YaST o YaST2, la configuración resulta bastante sencilla ya que estos programas ofrecen un entorno centralizado con todas las opciones necesarias. Desde YaST, la configuración del módulo de red se realiza seleccionando “Administración del sistema || Instalar hardware en el sistema || Configurar dispositivo de red”, lo que muestra una ventana como la de la figura D.22. Por su parte, para la configuración de los parámetros de TCP/IP, hay que seleccionar las opciones “Administración del sistema || Configuración de red || Configuración básica de red”, lo que muestra una ventana como la de la figura B.23. RA-MA APÉNDICE B: CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO 473 Figura B.22. Selección del modelo de adaptador de red en YaST. El modelo se selecciona en “Tipo de dispositivo de red”, que será el módulo que se cargue en el arranque (si se pulsa la tecla F3, se podrá seleccionar de una lista). En el caso de determinados dispositivos puede ser necesario incluir algunos parámetros para la carga del módulo en “Opciones del driver”. Figura B.23. Configuración de los parámetros TCP/IP en YaST. Aquí es posible activar o desactivar el adaptador, modificar su IP o indicar si se trata de una tarjeta PCMCIA. Desde YaST2 la configuración es similar, aunque el acceso a las ventanas es distinto. Para establecer el modelo de adaptador de red, hay que acceder a la configuración avanzada desde “Red/Básica || Configuración de la tarjeta de red” y, en la ventana que aparece, marcar la opción “Hardware”. Posteriormente, hay que seleccionar el adaptador y pulsar sobre el botón “Editar”, lo que muestra una ventana como la de la figura B.24. La configuración de TCP/IP en YaST2 se realiza editando el adaptador de red en la ventana que aparece al seleccionar “Red/Básica || Configura- 474 REDES DE ÁREA LOCAL RA-MA ción de la tarjeta de red”, salvo que en este caso se marca la opción “Interfaz”. Seleccionando el adaptador y pulsando en el botón “Editar”, se accede a su configuración TCP/IP (figura B.25). La opción “Elegir el método de configuración” de esa ventana permite indicar una dirección IP fija (seleccionando “Configuración de la dirección estática” e introduciendo los valores correspondientes en los cuadros “Dirección IP” y “Máscara de subred”) o asignada mediante DHCP [seleccionando “Dirección automática (vía DHCP)”]. La figura B.25 muestra esta ventana de configuración en YaST2. Figura B.24. Configuración hardware de un adaptador de red en YaST2. En esta ventana se puede seleccionar el modelo de adaptador de red pulsando en “Seleccionar desde lista”. Finalmente, se pueden incluir entradas del protocolo ARP utilizando el comando arp (siempre como usuario root). Las opciones de este comando son muy parecidas al mismo comando en la versión Windows, aunque con algunas diferencias. Para más información, puede consultarse la ayuda de las páginas del manual (comando man). Un ejemplo de añadido de entrada ARP puede ser el siguiente: $ arp -s 10.0.18.218 00:60:08:03:CE:5A Para comprobar que esta configuración funciona correctamente, se puede ejecutar el comando ping con la dirección de otro equipo conectado a la red (y activado en ese momento). Si se produce respuesta a los paquetes enviados, entonces es que el adaptador funciona perfectamente. Si se desea realizar una consulta de todos los parámetros de configuración TCP/IP en Linux, se puede escribir el siguiente comando en la ventana de terminal (teniendo en cuenta que eth0 hace referencia a la configuración TCP/IP asociada con ese adaptador): $ ifconfig eth0 RA-MA APÉNDICE B: CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO 475 Figura B.25. Configuración de los parámetros TCP/IP en YaST2. Las opciones de asignación de dirección IP son dos: configuración automática por DHCP y configuración manual. B.2.3. Archivos de configuración de red Independientemente de la herramienta que se utilice para configurar un adaptador de red en Linux, todas las modificaciones realizadas siempre se guardan en los archivos de configuración con formato texto que se encuentran desperdigados por el sistema de archivos “/”. Cuando el usuario que desea configurar los parámetros de red del sistema no tiene conocimientos avanzados en él, entonces siempre siempre es aconsejable recurrir a las utilidades de administración que se han visto en los apartados anteriores. Sin embargo, cuando nos encontramos con problemas en la configuración de red en Linux o deseamos establecer algunas características avanzadas, la mejor forma de lograrlo es acceder directamente a los archivos de texto que guardan los parámetros del sistema referentes a la red. Dependiendo de la distribución, éstos pueden diferir o encontrarse en diferentes directorios dentro del disco (normalmente en la carpeta /etc). La mayoría de los expuestos aquí son comunes para las distribuciones Red Hat, SuSE, Mandrake y Debian (a no ser que se indique lo contrario). Los archivos de configuración básica de red se enumeran a continuación, mientras que otros archivos específicos de servicios concretos se exponen en el capítulo 10, apartado 10.3: /etc/modules.conf: Archivo opcional que guarda información sobre los módulos cargables del núcleo. Para el módulo de la tarjeta de red suele incluirse un alias del nombre genérico eth0 con el controlador de dispositivo concreto (que dependerá del modelo y fabricante del adaptador y que estará guardado como archivo en la carpeta /dev). 476 REDES DE ÁREA LOCAL RA-MA /etc/protocols: Archivo que guarda los nombres de los protocolos de transporte usados por el sistema. /etc/services: Contiene una lista de los nombres de los servicios reconocidos por el sistema (protocolos de nivel de aplicación). /etc/host.conf: Este archivo se utiliza para controlar el funcionamiento de la resolución de nombres del cliente DNS en SuSE Linux y Red Hat. En algunas versiones se utiliza el archivo /etc/nsswitch.conf en vez de éste. /etc/resolv.conf: Se utiliza para la configuración del cliente DNS. Aquí se especifica el dominio al que pertenece el equipo local, las direcciones IP de los servidores de nombres, etc. /etc/networks: Este archivo es parecido a /etc/hosts pero, en este caso, no aparecen nombres de equipos, sino nombres de redes con sus correspondientes direcciones de red. /etc/HOSTNAME: En él se guarda solamente el nombre del equipo local sin el dominio. No debe incluirse ninguna información adicional. /etc/hosts: Guarda la tabla local de resolución de nombres en los casos en los que no se usa un servidor DNS. /proc/net/arp: Archivo que guarda la tabla local de resolución de direcciones ARP. /etc/inetd.conf: Archivo de configuración de los servicios del demonio inetd. Aquí aparecen todos los servicios del sistema, los que se encuentran activos y los desactivados (aquéllos que incluyen un carácter “#” al principio de su línea correspondiente). /etc/rc.config: Es el fichero principal de configuración de red del sistema en SuSE Linux. Todas las utilidades de configuración (YaST y YaST2) leen la información en base a este archivo y el resto de ellos se configura a partir de éste. Si se modifica a mano este archivo, es necesario ejecutar YaST, YaST2 o SuSEconfig para actualizar los cambios en todos los archivos del sistema necesarios. /etc/nscd.conf: Es el archivo que se utiliza para configurar el servicio nscd (Name Service Cache Daemon o Demonio de Caché del Servicio de Nombres) en SuSE Linux. /etc/sysconfig/network: Contiene la configuración básica de la red del equipo local en Linux Red Hat. RA-MA APÉNDICE B: CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO 477 /etc/sysconfig/network-scripts/ifcfg-xxx: shell-scripts66 de configuración de red del equipo local (xxx especifica el nombre del archivo controlador de red, que normalmente es eth0) en Linux Red Hat. Hay que tener cuidado al modificar de forma manual estos archivos con un editor de texto, ya que cualquier pequeño error al teclear puede hacer que nuestro sistema se comporte de forma anómala. Además, muchos parámetros de configuración de la red se suelen repetir en varios de esos archivos (como la dirección IP), con lo que se debe establecer el mismo valor en ellos para evitar comportamientos anómalos del sistema. En el caso de SuSE Linux, bastará con ejecutar las utilidades YaST, YaST2 o SuSEconfig para actualizar todos los archivos con los nuevos cambios establecidos o introducidos directamente en /etc/rc.config. Seguidamente se incluyen algunos ejemplos de archivos especificados en los puntos anteriores. Su contenido dependerá de la configuración de la red donde se encuentre el equipo local. Téngase en cuenta que un carácter “#” al principio de cada línea en los archivos indica que se trata de un comentario aclaratorio que el sistema debe ignorar o un comando que no está activo. EJEMPLO B.1 Un extracto del archivo /etc/modules.conf puede ser el siguiente: # Archivo de configuración para módulos cargables; # usado por modprobe. # Alias para especificar los dispositivos: alias eth0 eepro100 alias eth1 off alias tr0 off alias scsi_hostadapter off alias fb0 off Solamente se ha incluido una parte del archivo, puesto que lo que sigue a estas líneas se refiere a la configuración de otros dispositivos del sistema. La línea “alias eth0 eepro100” especifica el módulo del controlador asociado con la tarjeta de red instalada. En caso de que hubiera más de una en el equipo, la siguiente línea “alias eth1”, no estaría con el valor off (sino con el nombre del controlador correspondiente), al haber sido detectada por el núcleo o instalada por el administrador. Si se inspecciona el resto de este archivo, se verán todos los dispositivos soportados por el sistema, junto con los parámetros de su controlador asociado. Un shell-script de Linux es un programa que contiene una secuencia de comandos que se ejecutan uno a continuación del otro como órdenes del sistema operativo u otros archivos ejecutables. Son equivalentes a los archivos BAT de DOS. 66 RA-MA 478 REDES DE ÁREA LOCAL EJEMPLO B.2 El archivo /etc/protocols contiene una lista detallada de todos los protocolos de la arquitectura TCP/IP. Cada entrada está formada por los siguientes campos: nombre del protocolo y número de puerto de transporte asociado. Algunas líneas de ejemplo son: ip hopopt icmp igmp ggp tcp egp igp udp ipv6 0 0 1 2 3 6 8 9 17 41 IP HOPOPT ICMP IGMP GGP TCP EGP IGP UDP IPv6 # # # # protocolo de interred v4 opciones Hop-by-hop de IPv6 protocolo ICMP protocolo IGMP # protocolo gateway-gateway # protocolo TCP # protocolo EGP # protocolo IGP # protocolo UDP # IPv6 EJEMPLO B.3 En el archivo /etc/services se incluye una lista detallada de servicios a nivel de aplicación. Éste se estructura en columnas con el siguiente contenido: nombre del servicio, puerto de transporte asignado y protocolo de transporte que utiliza. Por ejemplo, puede contener estas líneas: echo echo systat systat ftp-data ftp-data ftp fsp ssh ssh telnet telnet smtp smtp 7/tcp 7/udp 11/tcp 11/udp 20/tcp 20/udp 21/tcp 21/udp 22/tcp 22/udp 23/tcp 23/udp 25/tcp 25/udp Echo Echo users users mail mail # # # # # # # # # # # # # # Usuarios activos Usuarios activos FTP (datos) FTP (datos) FTP (control) FTP sobre UDP SSH (acceso remote) SSH (acceso remoto) Telnet Telnet Simple Mail Transfer Simple Mail Transfer Si edita este archivo, podrá encontrar una línea titulada “Números de puertos registrados”. Ésta especifica algunos servicios no estándares que han sido registrados (se numeran a partir del 1024). RA-MA APÉNDICE B: CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO 479 EJEMPLO B.4 Un ejemplo de archivo /etc/host.conf para SuSE Linux puede ser el siguiente: # /etc/host.conf - Archivo de configuración del resolvedor. # La siguiente opción solamente se utiliza en los archivos # binarios enlazados por libc4 o libc5. # Esta línea debe estar en concordancia con la opción “hosts” # del archivo /etc/nsswitch.conf. order hosts, bind multi on La opción order especifica el orden de resolución que se seguirá (hosts para el archivo local /etc/hosts, bind para el servidor de nombres de la red y nis para buscar usando el protocolo NIS). Estos servicios se pueden especificar separados por comas o espacios. La opción multi indica si el resolvedor puede devolver más de una dirección IP por máquina (valores on u off). La opción nospoof especifica si se va a comprobar la autenticidad de las direcciones. Los valores aplicables a esta opción son on (equivale el valor warn off de la variable) u off. La comprobación se hace de la siguiente forma: después de obtener la dirección IP, el resolvedor realiza una petición de correspondencia inversa para ver si la dirección de dominio obtenida coincide. En caso de que no coincida, entonces no devolverá la dirección IP resuelta. La opción spoofalert (o alert en las versiones anteriores a BIND8) se utiliza para guardar en el registro del sistema los valores obtenidos de direcciones IP falsas y se pueden indicar los valores on u off. Este valor no tiene efecto si no se ha establecido el valor nospoof a on. La opción trim se utiliza para especificar nombres de dominio por defecto (cada uno de ellos deberá llevar la palabra trim delante). Los nombres de los dominios especificados deben acabar en punto y el resolvedor los añade a todos los nombres de equipo obtenidos vía DNS. EJEMPLO B.5 Un ejemplo de contenido del archivo /etc/nsswitch.conf puede ser éste: # Aquí aparece parte de la información del sistema relativa a # los servicios de red más importantes. La búsqueda de la in# formación puede realizarse utilizando las siguientes fuentes: # - nisplus: Usar NIS versión 3. # - nis: Usar NIS versión 2. 480 REDES DE ÁREA LOCAL RA-MA # - dns: Usar DNS en IPv4. # - dns6: Usar DNS en IPv4 e IPv6. # - files: Usar los archivos locales. # - db: Usar las bases de datos /var/db. # hosts: files dns # Nombres de los equipos networks: files dns # Nombres y números de las # redes services: files # Servicios de la red protocols: files # Protocolos de la red ethers: files # Números de los adaptadores # Ethernet netmasks: files # Máscaras de red netgroup: files # Lista ampliada de usuarios y # equipos de la red publickey: files # Claves públicas de servicios # RPC, NFS y NIS Obsérvese que la entrada hosts se ha establecido con el valor files dns, lo que significa que, cada vez que el resolvedor necesite obtener una dirección, primero consultará los archivos locales y, luego, el DNS. EJEMPLO B.6 En el archivo /etc/resolv.conf contiene el nombre del dominio local y las direcciones IP de servidores de nombres. Estos parámetros se especifican de la siguiente forma: domain nameserver nameserver localdomain 123.11.254.32 123.12.68.199 Las opciones de este archivo son: nameserver (dirección IP de un servidor de nombres), domain (nombre del dominio local) y search (dominios de búsqueda alternativos). EJEMPLO B.7 El archivo /etc/networks puede contener lo siguiente: # Este archivo describe algunas correspondencias entre direc# ciones IP y nombres en TCP/IP. Se utiliza sobre todo en el # arranque, cuando no se puede conectar a un servidor DNS. loopback 127.0.0.0 localdomain 10.0.0.0 RA-MA APÉNDICE B: CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO 481 EJEMPLO B.8 El archivo /etc/HOSTNAME solamente contiene el nombre del equipo local: milinux EJEMPLO B.9 En el archivo /etc/hosts se configuran los nombres de dominio y sus correspondientes direcciones IP de algunos equipos, formando una tabla de resolución DNS estática. El resolvedor consulta esta tabla antes de enviar las peticiones DNS a los servidores. Podría contener lo siguiente: 127.0.0.1 10.0.1.20 10.0.1.10 10.0.1.11 localhost milinux servidor1 servidor2 localhost.localdomain milinux.localdomain servidor1.localdomain servidor2.localdomain EJEMPLO B.10 Un ejemplo de archivo /proc/net/arp para SuSE Linux puede ser el siguiente: IP address HW type Flags 10.0.0.3 10.0.18.1 0x1 0x1 0x0 0x6 HW address Mask 00:00:00:00:00:00 00:60:08:03:CE:5A * * Device eth0 eth0 Las columnas de las entradas son las siguientes: IP address (dirección IP del equipo), HW type (tipo de dirección hardware), Flags (banderas que especifican el tipo de entrada: permanente, etc.), HW address (dirección MAC del equipo), Mask (máscara de red aplicable) y Device (dispositivo al que está conectado). EJEMPLO B.11 Un ejemplo de entradas en el archivo /etc/inetd.conf para SuSE Linux puede ser el siguiente: #<nombre><sock><pro><flag> # #echo stream tcp nowait #echo dgram udp wait time stream tcp nowait time dgram udp wait #ftp stream tcp nowait #ftp stream tcp nowait <usr><servidor> root root root root root root <args> internal internal internal internal /usr/sbin/tcpd wu.ftpd -a /usr/sbin/tcpd proftpd 482 REDES DE ÁREA LOCAL #ftp #telnet #smtp #printer #shell login #login #exec talk #tftp #bootps finger #systat #netstat RA-MA stream tcp nowait root /usr/sbin/tcpd in.ftpd stream tcp nowait root /usr/sbin/tcpd in.telnetd stream tcp nowait root /usr/sbin/sendmail sendmail -bs stream tcp nowait root /usr/sbin/tcpd /usr/bin/lpd -i stream tcp nowait root /usr/sbin/tcpd in.rshd -aL stream tcp nowait root /usr/sbin/tcpd in.rlogind stream tcp nowait root /usr/sbin/tcpd in.rlogind -a stream tcp nowait root /usr/sbin/tcpd in.rexecd dgram udp wait root /usr/sbin/tcpd in.talkd dgram udp wait root /usr/sbin/in.tftpd in.tftpd -s /tf dgram udp wait root /usr/sbin/bootpd bootpd -c /boot stream tcp nowait nobody /usr/sbin/tcpd in.fingerd -w stream tcp nowait nobody /usr/sbin/tcpd /bin/ps -auwwx stream tcp nowait root /usr/sbin/tcpd /bin/netstat -a La columna <nombre> especifica el nombre del servicio (un nombre incluido en el archivo /etc/services). Por su parte, la columna <sock> especifica el tipo de conexión; <pro> indica el protocolo a nivel de transporte utilizado (debe ser un nombre incluido en el archivo /etc/protocols); <flag> es una bandera especial para el protocolo de transporte; <usr> indica el usuario propietario del proceso; <servidor> indica el nombre del proceso servidor. Finalmente, la columna <args> indica los argumentos (nombre del proceso a lanzar y argumentos adicionales). Se han incluido solamente los servicios más importantes, aunque, como se puede observar, el administrador puede seleccionar más de un tipo de servicio (dependiendo de sus necesidades). EJEMPLO B.12 Un extracto del fichero /etc/rc.config para los parámetros específicos más importantes de la configuración de red en SuSE Linux puede ser: # Después de modificar este archivo, ejecutar # /sbin/SuSEconfig para configurar todo el sistema. # Es posible impedir que el comando SuSEconfig modi# fique el sistema modificando la entrada siguiente: ENABLE_SUSECONFIG="yes" # ¿Se realiza chequeo del propio equipo por dirección # de loopback? "yes" o "no" (Esta característica es # necesaria para todos los servicios rpc) START_LOOPBACK="yes" # Números de adaptadores de red: "_0" para la primera, # y "_0 _1 _2 _3" para las cuatro primeras: RA-MA APÉNDICE B: CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO 483 NETCONFIG="_0" # Números de adaptadores de red PCMCIA (la numeración # sigue a la anterior): NETCONFIG_PCMCIA="" # Direcciones IP de los adaptadores: IPADDR_0="10.0.1.20" IPADDR_1="" IPADDR_2="" IPADDR_3="" # Nombres de los adaptadores de red (ej. "eth0") NETDEV_0="eth0" NETDEV_1="" NETDEV_2="" NETDEV_3="" # Parámetros para ifconfig; se pueden incluir aquí los # servicios respectivos ("bootp" o "dhcpclient"): IFCONFIG_0="10.0.1.20 broadcast 10.255.255.255 netmask 255.0.0.0 up" IFCONFIG_1="" IFCONFIG_2="" IFCONFIG_3="" # Indicar si la conexión a la red por IPADDR_0 debe ser # permanente o no (debe serlo si es una conexión por # modem de tipo SLIP o PPP): SETUPDUMMYDEV="no" # ¿Es esta máquina un encaminador? IP_FORWARD="no" # SuSEconfig puede realizar ciertas comprobaciones y # actualizaciones del contenido del archivo /etc/hosts. CHECK_ETC_HOSTS="yes" BEAUTIFY_ETC_HOSTS="yes" # Nombre y dominio del equipo: FQHOSTNAME="milinux.localdomain" # Configuración del servidor proxy (si existe): HTTP_PROXY="" FTP_PROXY="" NO_PROXY="localhost" # Se indica si las conexiones de red serán cerradas al RA-MA 484 REDES DE ÁREA LOCAL # terminar los procesos de encaminamiento: CLOSE_CONNECTIONS="false" # Hay algunos servicio (ppp, ippp, dhclient, pcmcia, # hotplug) que deben modificar el archivo # /etc/resolv.conf en determinadas situaciones. Aquí se # indica si se permite o no: MODIFY_RESOLV_CONF_DYNAMICALLY="yes" # Indicar el nombre del dispositivo modem instalado: MODEM="" # ¿Se permite la conexión remota como usuario root? ROOT_LOGIN_REMOTE="no" # ¿El servicio de soporte a PCMCIA debe iniciarse en el # arranque del sistema? START_PCMCIA="yes" # Indicar cuál es el dominio de todos los equipos que # pueden acceder vía http-rman o apache al servidor: DOC_ALLOW="localhost" # Iniciar el demonio inetd para la conexión de usuarios: START_INETD="no" # Indica si se desea iniciar el servicio para el puerto # de infrarrojos y el nombre del puerto asignado: START_IRDA="no" IRDA_PORT="/dev/ttyS1" # Indicar si el servidor NFS debe ser iniciado: NFS_SERVER="no" # Indicar si el servicio de cortafuegos debe iniciarse: START_FW="no" EJEMPLO B.13 El archivo /etc/nscd.conf en SuSE Linux podría contener la siguiente información: # Ejemplo de archivo de configuración de la caché del # servicio de nombres, usado por nscd. # # # logfile threads server-user /var/log/nscd.log 6 nobody RA-MA APÉNDICE B: CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO 485 debug-level 0 enable-cache positive-time-to-live negative-time-to-live suggested-size check-files passwd passwd passwd passwd passwd enable-cache positive-time-to-live negative-time-to-live suggested-size check-files group group group group group yes 3600 60 211 yes enable-cache positive-time-to-live negative-time-to-live suggested-size check-files hosts hosts hosts hosts hosts no 3600 20 211 yes yes 600 20 211 yes EJEMPLO B.14 En el archivo /etc/sysconfig/network se configuran los parámetros de red del equipo local. Podría contener lo siguiente: NETWORKING=yes FORWARD_IPV4=false HOSTNAME=milinux.localdomain DOMAINNAME=localdomain GATEWAY=10.0.1.20 GATEWAYDEV=eth0 NETWORKING especifica si se desea inicializar la configuración de red en el arranque. FORWARD_IPV4 especifica si el equipo realiza encaminamiento entre redes. HOSTNAME especifica el nombre de dominio del equipo local; su dominio se especifica en DOMAINNAME. Finalmente, GATEWAY especifica la dirección IP del encaminador o proxy para el envío de paquetes por defecto (direcciones IP de destino que no se corresponden con la red) y GATEWAYDEV indica el nombre de la tarjeta del equipo local que está directamente conectada a la red donde se encuentra el encaminador o proxy de acceso al exterior. 486 REDES DE ÁREA LOCAL RA-MA EJEMPLO B.15 En el archivo /etc/syconfig/network-scripts/ifcfg-eth0 se encuentran otros parámetros de configuración de red para el equipo local. Podría contener lo siguiente: DEVICE=eth0 IPADDR=10.0.1.20 NETMASK=255.0.0.0 NETWORK=10.0.0.0 BROADCAST=10.255.255.255 ONBOOT=yes La entrada DEVICE especifica el nombre del archivo de dispositivo para el adaptador de red (por defecto, se suele llamar eth0). IPADDR especifica la dirección IP local, además de la máscara (NETMASK), la dirección IP de la red donde se encuentra (NETWORK) y la dirección de difusión (BROADCAST). Finalmente, ONBOOT indica si se desea inicializar la conexión en el arranque; si se pone a no, el sistema no lee este archivo de configuración y no se cargan los servicios de red (se puede hacer posteriormente de forma manual). B.3. BIBLIOGRAFÍA Libros en castellano: [APR01] Aprenda Windows 2000 Server José Luis Raya y Elena Raya Ra-Ma, 2001 [REH01] Manuales de la distribución Linux Red Hat 7.1. Varios autores Red Hat Inc., 2001 [SUS01] Manuales de la distribución SuSE Linux 7.3 Varios autores SuSE GmbH, 2001, 2.ª ed. [W9899] Windows 98 Jaime de Yraolagoitia Paraninfo, 1999, 3.ª ed. [WNT97] Windows NT Server 4. Instalación, configuración y administración José Luis Raya y Elena Raya Ra-Ma, 1997 RA-MA APÉNDICE B: CONFIGURACIÓN DE RED DE UN SISTEMA OPERATIVO 487 [WNT98] Windows NT Server 4.0, manual avanzado Manuel Beato Víbora y Jorge Franco Rey Anaya, 1998 [W2K00] Windows 2000 Server: Instalación, configuración y administración José Luis Raya y Elena Raya Ra-Ma, 2000 Otra documentación electrónica: [MSW00] Documentación Windows 2000 en CD-ROM (Inglés) Microsoft Official Curriculum: Implementing and Administering Microsoft Windows 2000 Directory Services (Course 2154a) Microsoft corp., 2000 Páginas de Internet: [CYBENET] Apuntes y trabajos de temas de informática en general Varios autores http://www.cybercursos.net/ APÉNDICE C CONTENIDO DEL CD-ROM El CD-ROM que se distribuye con el libro incluye tres apéndices adicionales en formato PDF. Estos tres apéndices ofrecen otros temas relacionados con las redes locales no menos importantes a la hora de ser tartados en el aula. Éstos son: Apéndice D: Está dedicado a exponer los aspectos de configuración y administración de redes Novell NetWare. El desarrollo de este apéndice sigue el mismo orden que los contenidos expuestos en los capítulos 7, 8, 9, 10 y 11 dedicados a las redes Microsoft Windows y Linux. Apéndice E: Es una ampliación del capítulo 5 del libro, donde se incluye una descripción del uso de las máscaras de red de longitud variable (VLSM). Este tipo de direccionamiento IP es una extensión que permite aprovechar mejor el espacio de direcciones disponibles en algunas situaciones reales. Apéndice F: Incluye una descripción y algunos ejemplos del funcionamiento de las redes locales virtuales. Este concepto se utiliza en redes locales segmentadas mediante conmutadores y permite limitar el tráfico en ellas para aumentar su rendimiento. GLOSARIO A/D (Analógico-Digital): Calificativo asignado a los dispositivos encargados de realizar la conversión de señales analógicas a digitales. ACK (Acknowledge o Confirmar): Se corresponde con el envío de una confirmación a un mensaje transmitido anteriormente. ACPI (Advanced Configuration and Power Interface o Configuración Avanzada e Interfaz de Energía): Se trata de una especificación que define cómo deben comunicarse los dispositivos hardware con el sistema informático. Esta especificación permite estandarizar la comunicación entre los diferentes elementos instalados en un ordenador, incluyendo las funciones de administración de energía. Active-X: Se trata de una técnica definida por Microsoft que permite extender las posibilidades del lenguaje HTML. Al igual que los Applets de Java, son programas independientes que se ejecutan dentro de una página HTML, pero se diferencian de estos últimos en que se diseñan como controles y componentes muy parecidos a los que se utilizan en programación visual. ADSL (Asymetric Digital Subscriber Line o Línea Asimétrica Digital de Suscriptor): Tecnología basada en la DSL donde la transmisión en los dos sentidos se establece a una velocidad diferente (es decir, la línea es asimétrica). AENOR (Asociación Española de Normalización): Institución española dedicada a la creación de normas en diferentes ámbitos y a la expedición de certificaciones en productos de todo tipo. 492 REDES DE ÁREA LOCAL RA-MA ALU (Arithmetic-Logic Unit o Unidad Aritmético-Lógica): Es la parte que incluye un microprocesador para realizar todas las operaciones aritméticas y lógicas. AM (Amplitude Modulation o Modulación en Amplitud): Es la técnica de modulación que consiste en modificar la amplitud de la señal portadora para poder representar la información a transmitir. Ancho de banda: Este concepto tiene dos acepciones diferentes. Aplicado a un medio de transmisión, se refiere a su capacidad de transmisión de información. Por su parte, si lo aplicamos a una señal que contiene información, indica el rango de frecuencias que la componen. Anonymous: Se refiere a la posibilidad que ofrecen algunos servicios de red de permitir acceso a los usuarios sin necesidad de que éstos se autentifiquen con un nombre de usuario y contraseña. Para este propósito, se utiliza un usuario genérico anónimo que dispone de un conjunto de permisos reducido sobre el servidor. ANSI (American National Estándar Institute o Instituto Americano de Normas Nacionales): Organismo americano de normalización, miembro de ISO, con sede en Nueva York. APCM (Adaptive Pulse Code Modulation o Modulación por Impulsos Codificados Adaptativa): Es una modulación derivada de la PCM que reduce el ancho de banda de la señal a transmitir. API (Application Program Interface o Interfaz de Programa de Aplicación): Conjunto de funciones y servicios que ofrece el sistema operativo para que puedan ser llamadas desde los programas de aplicación. Estas funciones simplifican las tareas de programación e incluyen operaciones de manejo de todos los recursos del sistema. Applet: Programa escrito en Java que se ejecuta dentro de la ventana de un navegador y que permite aumentar las capacidades del lenguaje HTML. AppleTalk: Arquitectura de comunicaciones para los ordenadores Apple Macintosh. Archie: Se trata de un servicio ofrecido por la red Internet que permite buscar archivos en los servidores FTP de acuerdo con un patrón especificado. Archivo: Es la unidad mínima de almacenamiento de información en un sistema de archivos. Puede contener cualquier tipo de información, aunque siempre se guarda en formato binario (que después deberá ser interpretada como corresponda). RA-MA GLOSARIO 493 ARP (Address Resolution Protocol o Protocolo de Resolución de Direcciones): Es un protocolo incluido en la arquitectura TCP/IP que permite averiguar la dirección MAC de un equipo a través de su dirección IP. ARPA (Advanced Research Projects Agency o aAencia de Proyectos Avanzados de Investigación): Agencia de investigación dependiente del Departamento de Defensa de los Estados Unidos (DoD). Hace años se denominaba DARPA. ARPANET: Es una red de comunicación desarrollada por el ARPA para el Ministerio de Defensa norteamericano (DoD). Esta red sirvió de base para el posterior desarrollo de Internet. Arquitectura de red: Especifica la topología, el método de acceso al medio y los protocolos de comunicaciones de la red. ASCII (American Standard Code for Information Interchange o Código Estándar Americano para el Intercambio de Información): Código definido por el instituto ANSI que es capaz de representar en sistema binario de 8 bits los caracteres alfanuméricos, gráficos, símbolos especiales y otros caracteres de control. Asíncrono: Corresponde a un tipo de comunicación en el que no se establece ninguna señal de control que le indique al receptor en qué momentos debe leer la información del medio. Autenticación: Mecanismo que sirve para identificar a la persona que desea realizar una operación sobre un sistema informático local o remoto. La identificación de la persona permite establecer ciertas restricciones en el uso de los recursos e impide el acceso de otros a información reservada. Ataque de negación de servicio: Acción que intenta dejar fuera de servicio a un servidor remoto. Se consigue enviándole gran cantidad de mensajes con el propósito de llevarlo a la saturación total. ATM (Asynchronous Transfer Mode o Modo de Transferencia Asíncrono): Se trata de un mecanismo de transmisión de la información a alta velocidad que se basa en el modo asíncrono y la conmutación de paquetes. Acceso básico a RDSI: Método de conexión con la Red Digital de Servicios Integrados, que proporciona dos canales B de 64 Kbps para transmisión de voz o datos más un canal D de 16 Kbps para señalización. Los canales B pueden ser utilizados para transmitir información en paralelo desde una misma conexión o para transmitir datos de diferentes conexiones. 494 REDES DE ÁREA LOCAL RA-MA Back-up (Copia de Seguridad): Operación de duplicado de la información en un dispositivo de almacenamiento masivo (disco duro, cinta magnética, disco óptico, etc.). Esta copia se utiliza cuando la información original se ha perdido parcial o totalmente debido a un fallo del sistema o a un error en su manipulación. Backbone (Red Troncal): Red de comunicación o segmento de cableado que por sus características soporta una mayor densidad de tráfico. Se utiliza para transmitir varias comunicaciones simultáneas por multiplexación y permite interconectar otras redes. Banda ancha: Se refiere a la transmisión de información utilizando señales analógicas. También se utiliza para indicar que el ancho de banda de un medio es compartido por diferentes comunicaciones, utilizando métodos de multiplexación. Banda base: Se refiere a la transmisión de información utilizando señales digitales. También indica que el ancho de banda de un medio es utilizado de forma exclusiva por una única comunicación. Base de datos: En general, indica un conjunto de información almacenada. En informática, define los datos que se guardan en un sistema siguiendo unos patrones estructurados. Esa organización permite accesos ordenados y consultas definidas de acuerdo a determinados patrones de búsqueda. Baudio: Unidad de medida que representa el número de cambios de nivel por segundo de una señal digital. Por lo tanto, la medida del baudio nos indica cuántos dígitos binarios son transmitidos por la señal en un segundo. BDC (Back-up Domain Controler o Controlador de Reserva de Dominio): Equipo informático que mantiene una copia actualizada de la información de administración de un dominio. En caso de fallo del equipo que mantiene la copia maestra (llamado PDC), el BDC puede pasar a funcionar como equipo principal y así mantener la red en funcionamiento. BGP (Border Gateway Protocol o Protocolo de Borde de Pasarela): Protocolo de encaminamiento incluido en la arquitectura TCP/IP que se utiliza en las pasarelas que enlazan diferentes redes. BIND (Berkeley Internet Name Domain o Dominio de Nombres de Internet de Berkeley): Define el sistema de nombres de dominio de Internet. Bindery: Se trata del servicio de directorios de NetWare utilizado en versiones 2.x y 3.x. A diferencia del NDS de versiones posteriores, el bindery está alojado en un único servidor NetWare. Esta característica hace que, si en la red existe más de un equipo servidor, entonces éstos funcionan de forma independiente y los usuarios deben autenticarse en todos ellos para acceder a sus recursos. RA-MA GLOSARIO 495 B-ISDN (Broadband-ISDN o RDSI de Banda Ancha): Se trata de la futura extensión de la Red Digital de Servicios Integrados para ofrecer servicios de transmisión de datos a alta velocidad. Bit (Binary Digit o Dígito Binario): Es la unidad mínima de información que se puede representar en el sistema binario. Cada bit solamente puede tomar dos valores: “0” ó “1”. BOOTP (Bootstrap Protocol): Se trata de un protocolo utilizado para que los equipos que no disponen de disco duro puedan establecer su configuración de red y cargar el sistema operativo a través de ella. Bps (Bits Per Ssecond o Bits por Segundo): Se utiliza como medida de la capacidad de transmisión de un medio o una red de comunicación. Especifica el número de bits que puede transportar del origen al destino en un segundo. Broadcast (Difusión): Envío de un mensaje destinado a todos los equipos de la red. Buffer: Se refiere a un área intermedia de almacenamiento de información. Se utiliza fundamentalmente para adaptar las diferentes velocidades de transmisión que existen entre dos dispositivos que intercambian información. Caché: Es una memoria intermedia rápida que se utiliza para disminuir el tiempo de acceso del dispositivo de almacenamiento al que está asociada. Se utilizan memorias caché para acceder de forma más rápida a la memoria principal o al disco duro de un ordenador. CAD (Computer Aided Design o Diseño Asistido por Computador): Aplicaciones informáticas que se utilizan en el diseño industrial de componentes electrónicos, piezas mecánicas y todo tipo de elementos y sistemas complejos. CCIR (Comite Consultatif International des Radiocommunications o Comité Consultivo Internacional de Radiocomunicaciones): Organización que depende de la ITU con sede en Ginebra que se dedica a temas relacionados con las radiocomunicaciones. CCITT (Comite Consultatif International de Telegraphique et Telephonique o Comité Consultivo Internacional para Telefonía y Telegrafía): Organización dependiente de la ITU que actualmente ha pasado a denominarse ITU-T. Se encarga de los asuntos de telefonía y telegrafía, y algunas de las normas más importantes que ha desarrollado son las de la serie V (para módem) y la serie X (para redes públicas). Célula (Celda): Es la unidad mínima de información que transmite una red ATM. Tiene un tamaño fijo de 53 bytes. 496 REDES DE ÁREA LOCAL RA-MA CEN (Comite Europeen de Normalisation o Comité Europeo de Normalización): Organización europea con sede en Bruselas para la coordinación de normas no electrotécnicas. CERN (Centro Europeo de Investigación Nuclear): Institución donde nació la World Wide Web, de manos del físico Tim Berners-Lee. Chat: Se conoce vulgarmente a los programas que permiten la comunicación de un conjunto de usuarios mediante mensajes de texto. Actualmente ha sido sustituido por otras aplicaciones más avanzadas, denominadas IRC. Cifrado: Técnica también conocida como encriptado, que consiste en la manipulación de la información para hacerla completamente ilegible. Este método permite aumentar la seguridad en las comunicaciones, ya que, en teoría, solamente el emisor y el receptor conocen el algoritmo para cifrar y descifrar los mensajes. Cliente: Se refiere a un usuario o equipo informático que accede a un servidor para solicitar el uso de un recurso compartido. Clock (Reloj): Se refiere a una señal eléctrica de gran precisión que se utiliza para mantener el sincronismo entre dos sistemas que se comunican. Coaxial: Cable de cobre formado por un núcleo y una malla externa que ofrece una buena inmunidad al ruido. Colisión: Situación que se produce cuando dos equipos transmiten datos a la vez en un medio compartido, lo que hace que éstos se pierdan y deban ser retransmitidos. Conmutación de circuitos: Sistema de transmisión que consiste en realizar un establecimiento de la conexión para reservar la ruta antes de transmitir los datos. Conmutación de mensajes: Sistema de transmisión que consiste en ir enviando el mensaje completo de un nodo al siguiente en la red. En el momento en el que el mensaje llega a cada nodo, éste decide cuál es la mejor ruta. Conmutación de paquetes: Sistema de transmisión de datos que consiste en dividir el mensaje a transmitir en fragmentos (paquetes) que incluyen la dirección del destinatario. Cada paquete circula de forma independiente por la red, y puede seguir diferentes rutas al resto. Control de flujo: Método empleado con el propósito de impedir la saturación de un equipo receptor de datos. Hay que tener en cuenta que la recepción de la información necesita de un tiempo de proceso y que el destinatario utiliza una memoria limitada para almacenar temporalmente los mensajes entrantes. Si esa memoria se llena, el receptor puede perder los siguientes mensajes que le llegan. RA-MA GLOSARIO 497 Control de paridad: Procedimiento utilizado para detectar errores que consiste en la adicción de un bit a la información. Existen dos formas de aplicar el bit de paridad: paridad impar o paridad par. Copia de seguridad: Véase Back-up. Correo electrónico: Servicio que permite el envío de mensajes entre usuarios. A diferencia de otros sistemas, este servicio es capaz de guardar los mensajes recibidos para que los usuarios puedan consultarlos en cualquier momento. Corriente de llamada: Es la señal eléctrica que se utiliza para avisar a los usuarios de la RTC que existe una solicitud de llamada. Esta señal tiene una tensión de 60 V a 75 V con una frecuencia de 25 Hz y el terminal (teléfono) la interpreta generando un timbre. Cortafuegos: Se trata de un dispositivo que se sitúa entre dos redes para limitar o impedir el tráfico que circula entre ellas. Crack: Programa informático que se utiliza para eliminar los sistemas de seguridad anticopia que disponen algunas aplicaciones y juegos. CRC (Cyclic Redundance Code o Código de Redundancia Cíclica): Método utilizado para detectar errores de transmisión. CSMA (Carrier Sense Multiple Acces o Acceso Múltiple con Detección de Portadora): Protocolo de acceso a un medio compartido que comprueba el uso del canal antes de iniciar una transmisión. CSMA/CA (Carrier Sense Multiple Access with Colision Avoidance o Acceso Múltiple con Detección de Portadora y Prevención de Colisiones): Protocolo de acceso a un medio compartido basado en el CSMA donde no existen colisiones. CSMA/CD (Carrier Sense Multiple Access with Colision Detection o Acceso Múltiple con Detección de Portadora y Detección de Colisiones): Protocolo de acceso a un medio compartido basado en el CSMA que utiliza un mecanismo de detección anticipada de colisiones. Cuadrete: Unión de dos pares (cuatro hilos) formando un único conductor. Uno de los pares se utiliza para transmitir en un sentido mientras que el otro par se usa para transmitir en el sentido opuesto. DARPA (Defense Advanced Research Projects Agency o Agencia de Proyectos Avanzados de Investigación para la Defensa): Depende del Departamento de Defensa de los Estados Unidos (DoD) y actualmente se denomina ARPA. 498 REDES DE ÁREA LOCAL RA-MA Datafax: Servicio para el envío de un fax a través de una red de transmisión de datos. Datafono: Sistema que permite el cobro de transacciones comerciales a través de tarjetas de banda magnética (tarjetas de crédito). El sistema está conectado a una red de transmisión de datos (RTC, X.25, etc.) que es la que envía las peticiones a los servidores bancarios. Datagrama: Método de transmisión derivado de la conmutación de paquetes donde cada paquete se envía de forma independiente. No se establece ninguna reserva de ninguna trayectoria (por donde circularán los paquetes). dB (Decibelio): Unidad de medida de la cantidad de ruido que afecta a los medios de transmisión. DCE (Data Circuit Equipment o Equipo de Circuito de Datos): Elemento de comunicación que conecta al equipo (DTE) con el sistema de comunicación. Demonio: Este concepto se aplica a los sistemas Unix/Linux. Se trata de un programa que se encuentra residente en memoria a la espera de recibir alguna petición y realizar alguna tarea. Para identificar este tipo de programas, se les suele añadir una “d” al final del nombre (por ejemplo, telnetd, ftpd, inetd, etc.). Desvío de llamadas: Servicio que ofrecen algunas redes de comunicación de datos que consiste en que las llamadas entrantes a un número son desviadas automáticamente a otro. Puede establecerse un desvío incondicional para todas las llamadas o condicional al estado del receptor (por ausencia, si comunica, si está fuera de cobertura, etc.). Diafonía inteligible: Es la diafonía que permite distinguir la conversación que tiene lugar en cables contiguos. DIN (Deutsches Institute fur Normung): Instituto Alemán de Normalización. DIP (Dual In-line Package o Encapsulado de Doble Hilera): Es un método de montaje de circuitos integrados. Dirección: Este término aplicado a redes de comunicaciones se utiliza generalmente para identificar de forma unívoca a los usuarios o equipos conectados a ella. Un equipo de la red puede tener definidas diferentes direcciones en diferentes niveles de la arquitectura que utilice. Cada una de estas direcciones tiene una función y estructura diferenciada. DMA (Direct Memory Access o Acceso Directo a Memoria): Sistema que permite a los dispositivos periféricos de un equipo el acceso a la memoria principal de forma directa, sin intervención del microprocesador. RA-MA GLOSARIO 499 DNS (Domain Name System o Sistema de Nombres de Dominio): Se trata de un protocolo de TCP/IP que permite utilizar direcciones de dominio (formadas por cadenas de caracteres) que están asociadas con direcciones IP. De esta forma, los usuarios pueden trabajar con direcciones de dominio que son más sencillas de recordar y utilizar que las direcciones IP. Dominio: Este término tiene varias acepciones. Puede ser un conjunto de equipos que están bajo la administración de un servidor. También se refiere al conjunto de equipos que tienen el mismo nombre de dominio genérico. DoD: Departamento de Defensa Norteamericano. Download (Descarga): Se le llama así a la acción de copiar un archivo desde un servidor remoto hasta nuestro equipo local. DRAM (Dynamic RAM o RAM Dinámica): Es un tipo de memoria de lectura y escritura que necesita de refrescos periódicos para mantener su contenido. Drive (Unidad de disco): Se refiere a un dispositivo de almacenamiento de un ordenador, como el disco duro o la unidad de disquetes. Driver (Controlador): Se trata de un sistema formado por hardware y software que controla el acceso a un dispositivo instalado en un ordenador. DSL (Digital Subscriber Line o Línea Digital de Suscriptor): Tecnología de transmisión que consiste en utilizar las líneas de transmisión de la RTC para el envío de información digital a alta velocidad. DSP (Digital Signal Processing o Procesador Digital de Señales): Es un componente que está programado para realizar ciertas transformaciones sobre señales digitales. DTE (Data Terminal Equipment o Equipo Terminal de Datos): Se le llama así a cualquier dispositivo conectado a un sistema de comunicaciones que se encarga de transmitir o recibir información y que es manipulado directamente por el usuario. Dúplex: Método de transmisión que permite el envío de la información por el mismo medio en los dos sentidos al mismo tiempo. EBCDIC (Extended Binary Coded Decimal Interchange Code o Código Extendido de Intercambio Decimal Codificado en Binario): Código de codificación de la información definido para los sistemas IBM no compatibles. EIA (Electronic Industries Association o Asociación de Industrias de Electrónica): Organización dedicada a desarrollar normas electrónicas (como, por ejemplo, las de la serie RS) con sede en Washington. 500 REDES DE ÁREA LOCAL RA-MA EISA (Extended Industry Standard Architecture o Arquitectura Estándar Extendida de la Industria): Al igual que ISA, define cómo deben comunicarse los adaptadores de expansión que se conectan a un ordenador. Establece una interfaz de comunicaciones a 32 bits, manteniendo la compatibilidad con tarjetas ISA. E-mail: Véase Correo electrónico. Encapsulado: Técnica de transmisión de información que consiste en introducir un mensaje de un protocolo específico dentro del campo de datos de otro mensaje que utiliza un protocolo distinto. Encriptado: Véase Cifrado. Ethernet: Estándar que engloba las redes locales de tipo 10Base-2, 10Base-5, 10BaseT y 10Base-F. Está incluido en el estándar IEEE 802.3. EUTELSAT (European Telecommunications Satellite Organization u Organización de las Telecomunicaciones Europeas Vía Satélite): Organismo encargado del desarrollo de servicios de transmisión por satélite en Europa. FAQ (Frequently Asked Questions o Preguntas Frecuentemente Realizadas): Documentos que incluyen las preguntas y respuestas más comunes sobre un tema. Fast Ethernet: Estándar que engloba las redes locales de tipo 100Base-T y 100BaseF. Está incluido en el estándar IEEE 802.3. FAT (File Allocation Table o Tabla de Asignación de Ficheros): Método de organización de la información en disco (sistema de archivos) que utiliza una tabla donde se especifica la localización de cada uno de los bloques que forman un archivo. Fax G3: Fax analógico que funciona conectado a la RTC. Fax G4: Fax digital para su funcionamiento a 64 Kbps en una conexión con RDSI. FDDI (Fiber Distributed Data Interface o Interfaz de Datos Distribuido por Fibra): Red de transmisión de datos que soporta una velocidad de 100 Mbps; tiene topología lógica en doble anillo y utiliza cableado de fibra óptica. Está definida por el estándar ANSI X3T9.5. FDM (Frequency Division Multiplex o Multiplexación por División de Frecuencia): Técnica para incluir varias comunicaciones en un mismo medio, mediante la separación de las señales en diferentes rangos de frecuencias. RA-MA GLOSARIO 501 Fibra óptica: Cable de fibra de vidrio que utiliza la luz para la transmisión de datos. Comparado con el cobre, permite longitudes de cable mucho mayores, velocidades muy elevadas y es inmune a interferencias electromagnéticas. Fichero: Véase Archivo. FIFO (First In First Out o Primero en Entrar Primero en Salir): Método utilizado por algunos dispositivos de almacenamiento en el que la información se obtiene igual que una cola: lo primero que se escribe es lo primero que se lee. FINGER: Servicio que permite obtener información de los equipos conectados a Internet. Firewall: Véase Cortafuegos. Firma digital: Mecanismo que permite al destinatario comprobar la autenticidad de la persona que envía un mensaje. Firmware: Conjunto de programas almacenados en una memoria de sólo lectura. Forward release (Liberación hacia delante): Solicitud de desconexión de una comunicación realizada por el extremo que también solicitó la conexión. FOTS (Fiber Optic Tranmission System o Sistema de Transmisión por Fibra Óptica): Denominación utilizada para especificar todos los sistemas de transmisión por fibra óptica. FPS (Fast Packet Switching o Conmutación Rápida de Paquetes): Método de conmutación de las comunicaciones utilizado en redes Frame Relay y ATM. FQDN (Fully Qualified Domain Name o Nombre de Dominio Totalmente Cualificado): Está compuesto por el nombre del equipo más el dominio al que pertenece. Frame Relay (Retransmisión de trama): Red de comunicación de área extensa que permite transmitir hasta 45 Mbps cuyo control de errores se realiza extremo a extremo. FTP (File Transfer Protocol o Protocolo de Transferencia de Archivos): Servicio que permite la transferencia de archivos entre un equipo cliente y un servidor. FTTH (Fiber To The Home o Fibra Hasta el Hogar): Método por el cual los abonados pueden conectarse a una red de área extensa directamente a través de cableado de fibra óptica (que llega hasta el terminal). Gateway: Véase Pasarela. 502 REDES DE ÁREA LOCAL RA-MA Gigabit Ethernet: Estándar que engloba las redes locales de tipo 1000Base-T y 1000Base-F. Está incluido en el estándar IEEE 802.3. GOPHER: Servicio de Internet ya en desuso que permite el acceso a los recursos disponibles en los sitios mediante un sistema de menús. GPS (Global Positioning System o Sistema de Posicionamiento Global): Sistema de satélites que permiten informar a los usuarios sobre su posición exacta (con un margen de error comprendido entre 2 y 20 metros). GSM (Global System for Mobile Comunications o Sistema Global de Comunicación Móvil): Estándar europeo de telefonía móvil digital que trabaja en la banda de 900 MHz. Guión: Campo de una trama que se utilizan para marcar su inicio y su fin. Hacker: Persona dedicada a la intrusión no autorizada en sistemas remotos con el propósito de obtener información o conocer su funcionamiento. HDLC (High Level Data Link Control o Control de Enlace de Datos de Alto Nivel): Protocolo a nivel de enlace de datos que utiliza la técnica de relleno de bits para construir las tramas. Además, realiza un control de errores de las tramas incorrectas o perdidas. Hercio (Hz): Unidad de medida que indica la frecuencia de una señal (la inversa del periodo). También se le conoce como ciclo/segundo. HISPASAT: Sistema español compuesto por dos satélites y cuya función principal es la de difundir canales de televisión a España y América, además de ofrecer servicios de telefonía y transmisión de datos. Host: Este concepto tiene varias acepciones. Puede ser un equipo servidor al que se conectan terminales. También puede ser el nombre genérico de un equipo conectado a una red de comunicaciones. HTML (Hypertext Mark-up Language o Lenguaje de Marcación de Hipertexto): Es lenguaje estandarizado para el diseño de las páginas web. HTTP (Hypertext Transfer Protocol o Protocolo de Transferencia de Hipertexto): Es el protocolo utilizado por los equipos clientes para obtener páginas de hipertexto desde los servidores. Hub (Concentrador): Es el dispositivo multipuerto encargado de interconectar los distintos equipos que forman la red. Puede ser activo o pasivo y simple o dual. RA-MA GLOSARIO 503 IAB (Internet Architecture Board o Consejo de Arquitectura de Internet): Es la organización encargada de establecer las normas y protocolos de funcionamiento de Internet. Ibercom: Se trata de una red de área extensa, creada por Telefónica, que funciona a 2 Mbps con transmisión digital. Esta red de comunicación está en desuso por la implantación de su predecesora: RDSI. lbermic: Red de área extensa de Telefónica para transmisión de datos hasta 2 Mbps que utiliza las normas de la serie V (V24 y V35). Iberpac: Es la red pública española (instalada por Telefónica) para la transmisión de datos que utiliza la pila de protocolos X.25. IC (Integrated Circuit): Circuito integrado. Identificación del usuario llamante: Servicio que ofrecen algunas redes de comunicaciones que permite indicar al abonado cuál es el número de la persona que le está llamando. IRC (Internet Relay Chat): Programas que permiten a los usuarios comunicarse en línea con otros mediante mensajes de texto. A diferencia del correo electrónico, los usuarios deben estar conectados para recibir esos mensajes. ISDN (Integrated Services Digital Network o Red Digital de Servicios Integrados): Siglas correspondientes al idioma Inglés de RDSI. IEEE (Institute of Electrical & Electronics Engineers o Instituto de Ingenieros Eléctricos y Electrónicos): Organización estadounidense que define normas y protocolos a nivel físico en redes de comunicaciones. Es miembro de ANSI y de ISO. IGMP (Internet Group Management Protocol o Protocolo de Gestión de Grupos de Internet): Es un protocolo que se utiliza para la creación de grupos de equipos y la difusión de mensajes a esos grupos. INTELSAT (International Telecommunications Satellite Consortium o Consorcio Internacional de Satélites de Telecomunicaciones): Organización formada por 116 países para el desarrollo y explotación de satélites de comunicaciones. Interfaz U: Zona de comunicación situada entre la centralita digital local de RDSI con el NT instalado en casa del abonado. Para el acceso básico, la interfaz U consta de dos hilos, mientras que, si se ha seleccionado el acceso primario, la interfaz U consta de cuatro hilos. 504 REDES DE ÁREA LOCAL RA-MA Internet: Constituye la red de área extensa más grande del mundo. A veces se le llama también “la red de redes” ya que está formada por redes de menor tamaño interconectadas entre sí. INTERNIC (Internet Network Information Center o Centro de Información de la Red Internet): Organización que se encarga de ofrecer todos los servicios de Internet, en cuanto a documentación sobre protocolos, servicio de directorio que contiene direcciones asignadas, etc. IP (Internet Protocol o Protocolo de Interred): Es el protocolo más importante que funciona a nivel de red de la arquitectura TCP/IP. IPX (Internet Packet Exchange o Intercambio de Paquetes Interred): Es el protocolo de nivel de red de la arquitectura de comunicaciones de Novell. ISDN (Integrated Services Digital Network): Véase RDSI. ISA (Industry Standard Architecture o Arquitectura Estándar de la Industria): Se trata de un estándar que define cómo deben comunicarse los adaptadores de expansión que se conectan a un ordenador. Establece una interfaz de comunicaciones a 8 y 16 bits. ISO (International Standard Organization u Organización Internacional de Normalización): Organismo internacional dedicado a la normalización de protocolos. Entre las normas más importantes que ha desarrollado, destaca la arquitectura OSI. ITU (International Telecommunication Union o Unión Internacional de Telecomunicaciones): A esta organización pertenecen 162 países y está compuesta de varios sectores: radiocomunicaciones, desarrollo y telecomunicaciones. JAVA: Lenguaje de programación desarrollado por la compañía Sun Microsystems. Es orientado a objetos y el código compilado que genera no depende del sistema operativo ni de la máquina subyacente, por lo que puede ejecutarse en cualquier sistema y es ideal para su ejecución por los navegadores de Internet. Kerberos: Método que permite la autenticación de los usuarios cuando desean acceder a un servidor remoto. Utiliza un algoritmo de cifrado que permite mantener un buen grado de seguridad. LAN (Local Area Network o Red de Área Local): Constituye un grupo de ordenadores que se encuentran interconectados a una distancia corta. Esta distancia suele reducirse al interior de un edificio o a edificios colindantes. RA-MA GLOSARIO 505 LAP (Link Access Procedure o Procedimiento de Acceso de Enlace): Conjunto de protocolos de nivel de enlace basados en HDLC. Las versiones más utilizadas son LAP-B (para la capa 2 de OSI), LAP-D (para la capa 2 del canal D de RDSI) y LAP-M (similar a LAP-D pero utilizando la corrección de errores de la norma V.42). LASER (Ligth Amplification by Estimulated Emission of Radiation o Amplificación de Luz Mediante Emisión Estimulada de Radiación): Sistema de emisión de luz coherente. Layer: Capa o nivel de una arquitectura de comunicación. LED (Light Emitting Diode o Diodo Emisor de Luz): Elemento que emite luz cuando es alimentado por una corriente eléctrica. En el mercado existen dispositivos capaces de emitir luz normal o luz coherente (láser). Liberación de la conexión: Procedimiento por el cual se rompe una comunicación establecida entre un emisor y un receptor. Esta operación puede ser necesaria para liberar recursos reservados. Llamada en espera: Servicio ofrecido por algunas redes de comunicaciones por el cual el usuario que está atendiendo una llamada puede dejarla en espera (sin que se pierda) para atender otra nueva. LLC (Logical Link Control o Control de Enlace Lógico): Corresponde con la parte superior del nivel de enlace de datos en redes locales que utilizan un medio compartido. Login: Operación que consiste en iniciar una comunicación en un servidor remoto, mediante el envío del nombre de usuario y contraseña. Logout: Finalización de una comunicación establecida con un servidor remoto. Loopback (Retrobucle): Se refiere al envío de una señal desde el equipo a la red de comunicación y, de nuevo, de vuelta otra vez al mismo equipo. Se utiliza para comprobar el correcto funcionamiento de la conexión del equipo o terminal con la red. LOT (Ley de Ordenación de las Telecomunicaciones): Marco jurídico español que regula las telecomunicaciones españolas. Actualmente ha quedado en desuso por la aparición de una nueva ley (la Ley General de Telecomunicaciones o LGT, publicada en 1998). MAC (Media Access Control o Control de Acceso al Medio): Es la técnica que consiste en controlar la utilización de un medio compartido por varios equipos. 506 REDES DE ÁREA LOCAL RA-MA Mainframe: Ordenador de gran capacidad que es capaz de ofrecer servicios a los usuarios conectados de forma simultánea. MAN (Metropolitan Area Network o Red de Área Metropolitana): Se trata de una red de comunicación cuya extensión se reduce a una localidad concreta. Manos libres: Servicio ofrecido por el terminal de comunicación que permite contestar y hablar sin necesidad de descolgar. Marcación abreviada: Servicio ofrecido por algunas redes de comunicaciones que permite asignar códigos de menor longitud a los números. De esta forma, el abonado puede establecer una conexión de forma más rápida. Máscara de red o subred: Se utiliza para especificar el número de bits destinados a numerar redes, subredes y estaciones en una dirección IP. MAU (Multi-station Access Unit o Unidad de Acceso Multiestación): Dispositivo de interconexión de redes utilizado en el estándar Token Ring (IEEE 802.5). MIB (Management Information Database o Base de Datos de Información de Administración): Se trata de un conjunto de información utilizada por el protocolo SNMP. Microondas: Ondas caracterizadas por frecuencias muy elevadas (del orden de 1 Ghz) que se utilizan tanto para transmisiones terrestres, como para satélites. MILNET: Red de comunicaciones que es propiedad del Departamento de Defensa norteamericano (DoD) dedicada a las transmisiones no secretas. Surgió después de ARPANET. MIPS (Million Instructions Per Second o Millones de Instrucciones por Segundo): Medida de la capacidad de proceso de un ordenador. MNP (Microcom Networking Protocol o Protocolo de Red de Microcom): Protocolo de facto definido en la norma V.42 que establece los mecanismos de detección y corrección de errores en un módem. Módem (Modulador-Demodulador): Dispositivo adaptador que se utiliza para que un ordenador pueda enviar y recibir información a través de una línea analógica (como es la RTC): MSN (Multiple Subscriber Number o Número de Suscriptor Múltiple): Método que permite disponer de hasta ocho terminales conectados a la misma línea. RA-MA GLOSARIO 507 Multicast (Multidifusión): Envío de información a un grupo de equipos de la red (no a todos). Multiplexor: Dispositivo que transmite varias comunicaciones por un mismo medio. Multiplicador de interfaz: Dispositivo situado entre un módem y varios ordenadores que permite a estos últimos compartir el uso del módem. NCP (NetWare Core Protocol o Protocolo Central de NetWare): Es el protocolo más importante de la arquitectura de red de Novell, y se encarga de aceptar y responder peticiones de servidores y clientes. NDIS (Network Driver Interface Specification o Especificación de Interfaz de Adaptador de Red): Protocolo definido por Microsoft que permite que varias arquitecturas tengan acceso simultáneo a un mismo adaptador de red. NDS (NetWare Directory Service o Servicio de Directorios de NetWare): Se trata de una extensión del bindery que permite distribuir y replicar la base de datos del servicio de directorios entre diferentes servidores. Así, esta base de datos es capaz de almacenar información de administración de toda la red, y no se restringe a servidores específicos. NetBEUI (NetBIOS Extended User Interface o Interfaz de Usuario de NetBIOS extendida): Protocolo definido a nivel de red y nivel de transporte para las redes Microsoft. Actualmente, las nuevas versiones de los sistemas operativos de Microsoft ya no utilizan este protocolo, sino que usan en su lugar NetBT (ya que este último es enrutable). NetBIOS (Network Basic Input/Output System o Sistema Básico de Entrada/Salida de Red): Protocolo a nivel de transporte utilizado en redes Microsoft. NetBT (NetBIOS Over TCP/IP o NetBIOS sobre TCP/IP): Es una implementación parcial de TCP/IP para ofrecer un servicio de transporte enrutable a NetBIOS. NFS (Network File System o Sistema de Archivos de Red): Protocolo que permite el acceso a un sistema de archivos remoto, de forma que el usuario tiene la sensación de que ese sistema es local. NIC (Network Interface Card o Tarjeta de Interfaz de Red): Es el dispositivo que hace de intermediario entre el ordenador y la red de comunicación. Se le llama comúnmente tarjeta de red. NIS (Network Information Service o Servicio de Información de la Red): Protocolo desarrollado por la empresa Sun Microsystems que gestiona una base de datos distribuida que contiene información de toda la red. 508 REDES DE ÁREA LOCAL RA-MA NLM (NetWare Loadable Module o Módulo Cargable de NetWare): Programa que se ejecuta directamente en la consola del servidor NetWare. Nodo: Se denomina así a cualquier ordenador o dispositivo de interconexión de una red. NRZ (Non Return to Zero o No Retorno a Cero): Código de transmisión digital. NT (Network Termination o Terminador de Red): Elemento situado en casa del abonado a la línea RDSI. NTFS (NT File System o Sistema de Archivos de NT): Formato de sistema de ficheros utilizado en los sistemas operativos Windows NT/2000. A diferencia de FAT, reduce la fragmentación de archivos y ofrece mecanismos de control de la seguridad. OCR (Optical Characters Recognition o Reconocimiento Óptico de Caracteres): Programa que permite que un sistema informático pueda reconocer los caracteres de un texto. ODBC (Open Database Conectivity o Conectividad Abierta de Bases de Datos): Interfaz de programación que permite acceder de forma normalizada a diferentes estándares de bases de datos. ODI (Open Data-link Interface o Interfaz Abierta de Enlace de Datos): Protocolo desarrollado por Apple y Novell que permite a un sistema operativo manejar a la vez diferentes arquitecturas de comunicaciones instaladas. OS (Operating System o Sistema Operativo): Es el conjunto de programas que controlan el acceso de los programas de aplicación a los recursos del sistema. Además, también simplifica las tareas de programación, ya que ofrece un conjunto de servicios básicos. OSI (Open Systems Interconnection o Interconexión de Sistemas Abiertos): Arquitectura de red definida por ISO cuya característica más importante es que está diseñada para interconectar equipos y redes heterogéneas. PAM (Pulse Amplitude Modulation o Modulación por Pulsos en Amplitud): Modulación de una señal analógica que genera una señal digital formada por pulsos generados a una frecuencia de 8 kHz cuya amplitud varía con la amplitud de la moduladora. Paquete: Bloque de información que maneja el nivel de red de una arquitectura de comunicación. RA-MA GLOSARIO 509 Par trenzado: Cable formado por dos hilos de cobre revestidos por un aislante que van trenzados de forma helicoidal para aumentar su inmunidad al ruido. Pasarela: Dispositivo de interconexión de redes que permite comunicar varios sistemas cuyos protocolos de comunicación son completamente distintos. PCI (Peripheral Component Interconnect o Interconexión de Componentes Periféricos): Se trata de un nuevo estándar que define cómo deben comunicarse los adaptadores de expansión que se conectan a un ordenador. Establece una interfaz de comunicaciones a 32 y 64 bits y permite velocidades de comunicación superiores a ISA y EISA. PCM (Pulse Code Modulation o Modulación por Impulsos Codificados): Técnica de modulación que convierte una señal analógica a digital mediante tres pasos: muestreo (obtener los niveles de tensión digital de la señal analógica en unos intervalos de tiempo establecidos), cuantificación (aproximar los valores digitales obtenidos a los más próximos que se pueden representar) y codificación (convertir esos valores de acuerdo con un código establecido). PDC (Primary Domain Controler o Controlador Primario de Dominio): Servidor que contiene una copia maestra de la información de administración del dominio. Se encarga de autenticar los inicios de sesión y controlar el acceso a los recursos compartidos. PING (Packet Internet Groper o Tanteador de Paquetes de Internet): Utilidad que permite enviar paquetes a otro equipo remoto para comprobar si está activo o es accesible. En caso afirmativo, el equipo remoto contestará enviando otro paquete. POP (Post Office Protocol o Protocolo de Oficina Postal): Protocolo de gestión del correo electrónico. Portadora: Señal que posee unas determinadas características (adecuadas al medio por donde va a circular) y que se utiliza para el transporte de información. PPP (Point to Point Protocol o Protocolo Punto a Punto): Protocolo que se usa para permitir el acceso a Internet a través de una línea telefónica (RTC). PROM (Programmable Read Only Memory o Memoria Programable de Sólo Lectura): Memoria de sólo lectura cuyo contenido puede ser programado una sola vez. Protocolo: Conjunto de normas que definen cómo debe realizarse un servicio de una determinada red de comunicación. 510 REDES DE ÁREA LOCAL RA-MA Proxy: Programa servidor instalado en un equipo que permite compartir el uso de un módem además de filtrar el tráfico que circula por él. PSK (Phase Shift Keying o Modulación por Desplazamiento de Fase): Modulación de una señal digital que consiste en modificar el desplazamiento de fase de la portadora dependiendo de si se transmite un “0” o un “1”. Puerto: Puede tener dos acepciones. Por un lado, puede ser el conector físico que utilizan los equipos para comunicarse con otros dispositivos. Por otro lado, puede ser un número que especifica un programa de aplicación de un equipo remoto con el que se desea comunicar el programa local. QAM (Quadrature Amplitude Modulation o Modulación de Amplitud en Cuadratura): Modulación que modifica varios parámetros a la vez en la señal portadora. A diferencia de otras técnicas, ésta permite codificar más de un dígito binario por intervalo de tiempo. QoS (Quality of Service o Calidad del Servicio): Término que define la “calidad” de un determinado servicio, es decir, su capacidad para detectar y corregir errores y la velocidad de transmisión que es capaz de soportar. RAM (Random Access Memory o Memoria de Acceso Aleatorio): Tipo de memoria a la que se puede acceder para leer cualquier posición. Así, no es necesario leer todas las posiciones anteriores para llegar a ella. RARP (Reverse Address Resolution Protocol o Protocolo de Resolución de Direcciones Inverso): Este protocolo se encarga de obtener la dirección IP de un equipo del que se conoce su dirección MAC. RDSI (Red Digital de Servicios Integrados): Se trata de una red de área extensa que transmite información analógica y digital. Las señales de control circulan por canales virtuales independientes y el usuario puede contratar diferentes tipos de accesos que ofrecen distintas velocidades y capacidades para interconectar terminales. Redirección: Dirigir la entrada o salida por defecto a otro lugar. Redundancia: Conjunto de bits que se añaden a la información con el propósito de que el destinatario sea capaz de comprobar si se han producido errores en el envío de esos datos. Restricción de llamadas salientes: Servicio que permite filtrar el tráfico o llamadas salientes de un abonado en función del destino marcado. RA-MA GLOSARIO 511 Retardo de grupo: Fenómeno que modifica la fase de los distintos componentes armónicos de una señal, de forma que ésta llega alterada al destino. RFC (Request For Copmments o Petición de Comentarios): Documentos que definen los protocolos de comunicación de la red Internet. RFS (Remote File System o sistema de archivos remoto): Protocolo que permite el acceso a sistemas de archivos remotos, al igual que NFS. Fue definido por AT&T e incluido en el sistema operativo Unix System V. ROM (Read Only Memory o Memoria de Sólo Lectura): Tipo de memoria que permite la lectura de la información que contiene pero no su modificación. Router (Encaminador): Dispositivo de interconexión de redes que funciona a nivel de red de la arquitectura y que decide cuál es el mejor camino para el envío de los paquetes. Routing (Encaminamiento): Elección del mejor camino para el envío de la información. RTC (Red Telefónica Conmutada): Es la red de transmisión de voz clásica que utiliza cable paralelo o de par trenzado no apantallado. También transmite datos a baja velocidad utilizando la modulación. Ruta: Vía o camino por el que circula la información hacia el destino. RZ (Return to Zero o Retorno a Cero): Código de transmisión digital en el que cada bit se representa con un nivel de tensión que siempre vuelve a cero. SAP: Estas siglas tienen varias acepciones. SAP (Service Access Point o Punto de Acceso al Servicio) es el lugar o dirección donde un servicio de una determinada capa de la arquitectura llama a otro servicio situado en una capa inferior. SAP (Service Advertising Protocol o Protocolo de Notificación de Servicio) es un protocolo definido en la arquitectura Novell que se utiliza para que los servidores puedan notificar a las estaciones los servicios que tienen disponibles. SDLC (Synchronous Data Link Control o Control de Enlace de Datos Síncrono): Protocolo de nivel de enlace definido por IBM para su red SNA. Sus características son parecidas al protocolo HDLC. Segmento de red: Zona de una red en la que todos los equipos comparten el mismo medio. También se le llama dominio de colisión. Semidúplex: Tipo de comunicación que permite la transmisión en los dos sentidos, pero no al mismo tiempo. 512 REDES DE ÁREA LOCAL RA-MA Señalización fuera de banda: Consiste en enviar las señales de control y sincronización de la transmisión en canales o frecuencias distintas a las utilizadas para transmitir la información. SHTTP (Secure HTTP o HTTP seguro): Protocolo HTTP que incluye autentificación y cifrado entre el servidor de páginas y el navegador. Servicio: Define una operación que puede realizar el usuario sobre una red de comunicación. Servidor: Equipo informático que ofrece un conjunto de operaciones y recursos compartidos a los equipos clientes remotos. Shell: Método de interacción entre el usuario y el equipo informático que consiste en la introducción de órdenes en una línea de comandos. Síncrono: Método de transmisión de la información que consiste en incluir una señal periódica junto con la señal que contiene la información para indicar al destinatario en qué momento debe leer cada bit. Sitio: Este término tiene varias acepciones. Un sitio puede ser una dirección de dominio de un servidor Web. También puede ser una zona concreta de Internet que comparte un nombre de dominio genérico. SLIP (Serial Line Protocol o Protocolo de Línea Serie): Protocolo ya desfasado a favor de PPP. Se utilizaba para el acceso a Internet a través de una línea telefónica. SMB (Server Message Block o Bloque de Mensajes del Servidor): Protocolo de envío de solicitudes y respuestas para el acceso a recursos compartidos de la red Microsoft. SMTP (Simple Mail Transfer Protocol o Protocolo Simple de Transferencia de Correo): Protocolo de gestión de correo electrónico utilizado en Internet. SNA (Systems Network Architecture o Arquitectura de Sistemas de Red): Arquitectura de red de IBM para la conexión de sus ordenadores y terminales. SNMP (Simple Network Management Protocol o Protocolo Simple de Gestión de la Red): Protocolo que permite monitorizar el estado de las estaciones y dispositivos de la red. Sobrecarga: En general, se trata de una situación en la que un dispositivo o red de comunicación no es capaz de aguantar el nivel de funcionamiento exigido. RA-MA GLOSARIO 513 Socket (Conector): Este término tiene varios significados. Puede ser un tipo de zócalo utilizado para conectar el microprocesador con la placa base. También puede ser una dirección compuesta por la IP y el número de puerto que especifica una aplicación remota. SONET (Synchronous Optical Network o Red Óptica Síncrona): Estándar a nivel físico que define el transporte de tráfico telefónico a través de enlaces de larga distancia de fibra óptica. SRAM (Static Random Access Memory o Memoria Estática de Acceso Aleatorio): A diferencia de las memorias estáticas, este tipo no requiere de ningún mecanismo de refresco para mantener su contenido. SSH (Secure Shell o Shell Seguro): Protocolo que permite el establecimiento de una conexión de terminal remoto cifrada. De esta forma, toda la información que se envía entre la estación cliente y el servidor va encriptada. STM (Synchronous Transfer Mode o Modo de Transferencia Síncrono): Al contrario que ATM, STM transmite mediante mensajes de tamaño fijo sincronizados con un número definido de canales por mensaje. Subred: Zona de una red en la que todos los equipos tienen el mismo prefijo de red extendido (es decir, pertenecen al mismo número de red y al mismo número de subred). TA (Terminal Adapter o Adaptador de Terminal): Dispositivo que permite la conexión de terminales analógicos a la RDSI. Tarificación: Procedimiento realizado de forma automática por una red de comunicación para controlar el momento en que los usuarios establecen y liberan las conexiones. De esa forma, es posible calcular el importe de esas comunicaciones y cargarlo en las cuentas de los abonados. TCP (Transmisión Control Protol o Protocolo de Control de la Transmisión): Este protocolo está definido en el nivel de transporte de la arquitectura TCP/IP y se encarga fundamentalmente de controlar los errores que no detectan los protocolos a niveles inferiores. TCP/IP: Arquitectura de comunicaciones que emplea la red Internet. Los protocolos más importantes que incluye son TCP (a nivel de transporte) e IP (a nivel de red). TDM (Time Division Multiplex o Multiplexación por División de Tiempo): A cada comunicación se le asigna un intervalo de tiempo distinto para el uso del medio. 514 REDES DE ÁREA LOCAL RA-MA TELNET (Telematics Network o Red Telemática): Servicio definido en el nivel de aplicación de TCP/IP que se utiliza para iniciar sesiones de terminal remoto en equipos servidores. TFTP (Trivial File Transfer Protocol o Protocolo Trivial de Transferencia de Archivos): Protocolo muy simple para transferir archivos entre equipos. Token (Testigo): Se trata de una trama especial que circula por determinados tipos de redes y que las estaciones deben captar para poder transmitir. Token Bus (Paso de Testigo en Bus): Red local definida en el estándar IEEE 802.4 que tiene una topología en bus y utiliza el paso de testigo para controlar el acceso al medio. Token Ring (Paso de Testigo en Anillo): Red local definida en el estándar IEEE 802.5 que tiene una topología lógica en anillo y utiliza el paso de testigo para controlar el acceso al medio. Topología: Forma en la que se encuentran interconectados los diferentes equipos en la red. La topología física se refiere a la definición anterior, mientras que la topología lógica se refiere a cómo se distribuye la información enviada por la red. Trama: Unidad de datos mínima que maneja el nivel de enlace de una arquitectura de red. Está construida mediante una marca de inicio y otra de fin, con el propósito de que el receptor pueda calcular su tamaño de forma sencilla. Transceptor: Elemento que forma parte de una tarjeta de red y que realiza el acceso al medio de transmisión (para enviar o recibir información). Trunk link (Enlace Truncado): Enlace de comunicación de gran capacidad que une dos dispositivos de interconexión de redes. Normalmente suele estar formado por varios cables que transmiten en paralelo. TSR (Terminate and Stay Resident o Terminar y Quedar Residente): Programa ejecutado en MS-DOS que permanece residente en memoria una vez finalizado. UDLC (Universal Data Link Control o Control de Enlace de Datos Universal): Protocolo de nivel de enlace desarrollado por Unisys. UDP (User Datagram Protocol o Protocolo de Datagramas de Usuario): Protocolo definido a nivel de transporte de TCP/IP que, al contrario que TCP, es no orientado a la conexión y no realiza control de errores. RA-MA GLOSARIO 515 UMTS (Universal Mobile Telecommunication System o Sistema Universal de Telecomunicaciones Móviles): Proyecto que intenta unificar en un futuro cercano los diferentes servicios móviles existentes en la actualidad. UPS (Uninterruptible Power Supply o Fuente de Alimentación Ininterrumpida): Dispositivo de alimentación que dispone de almacenamiento de corriente (baterías) que mantiene un sistema encendido en caso de fallo eléctrico. URL (Uniform Resource Locator o Localizador de Recursos Uniforme): Es la nomenclatura utilizada para nombrar un nombre de recurso de Internet, por ejemplo, http://www.ies-azarquiel.es/departamentos/index.html. UTP (Unshielded Twisted Pair o Par Trenzado no Apantallado): Par de cables de cobre trenzados sin pantalla protectora. UUCP (Unix to Unix Copy o Copia de Unix a Unix): Protocolo que permite copiar archivos desde un sistema Unix a otro también Unix que se encuentran conectados a través de un módem y la línea telefónica convencional. Virus: Programa informático de reducido tamaño que se añade a los archivos del sistema y cuya ejecución puede causar graves daños al equipo o a la información que contiene. VPN (Virtual Private Network o Red Privada Virtual): Interconexión remota de varias redes locales, de forma que los usuarios tienen la sensación de que se encuentran directamente conectadas formando una única red local. Las redes se conectan normalmente a través de una red pública que hace las veces de portadora entre ellas. WAN (Wide Area Network o Red de Área Extensa): Término asignado a las redes que ocupan grandes extensiones y que están ubicadas en varias ciudades o países. WDM (Wavelength Division Multiplexing o Multiplexación por División de Longitud de Onda): Método de multiplexación utilizado en transmisión por fibra óptica que consiste en asignar una longitud de onda distinta a cada comunicación. WHOIS: Servicio de Internet que permite consultar direcciones de correo electrónico de los usuarios. WINS (Windows Internet Naming Servicie o Servicio de Nombres de Internet de Windows): Protocolo que se utiliza para obtener la dirección IP de un equipo a través de su nombre NetBIOS. 516 REDES DE ÁREA LOCAL RA-MA WORM (Write Once Read Many o Escribir Una Vez y Leer Muchas): Es un medio de almacenamiento masivo que solamente se puede grabar una vez de forma óptica, pero que, después, se podrá leer cuantas veces se quiera, también de forma óptica. Work Station (Estación de Trabajo): Equipos informáticos que son utilizados directamente por los usuarios en su trabajo diario. WWW (World Wide Web o Telaraña Mundial): Se trata de un sistema que facilita la consulta de información en Internet. Está basada en las páginas con formato de hipertexto y el protocolo HTTP para transferirlas. WYSIWYG (What You See Is What You Get o Lo Que Ves Es Lo Que Obtienes): Método utilizado por algunas aplicaciones de tratamiento de texto y gráficos que muestran por pantalla en cada momento el documento tal y como aparecería si fuera impreso. X.25: Pila de protocolos que define los niveles físico, enlace de datos y red de un sistema de comunicación por conmutación de paquetes. X.400: Conjunto de protocolos definidos por el CCITT para la gestión del correo electrónico entre sistemas no compatibles. X.500: Protocolo de gestión de un servicio de directorios asociado con el correo electrónico (X.400). X-Terminal: Conexión con un equipo remoto mediante un terminal gráfico. X-Window: Estándar definido para facilitar el desarrollo de aplicaciones gráficas en entornos Unix/Linux. ÍNDICE 1000BASE-F, 137 1000BASE-LX, 138 1000BASE-SX, 138 1000BASE-T, 137 100BASE-F, 137 100BASE-T, 137 100BASE-T4, 137 100BASE-TX, 137 100VG-AnyLAN. Véase IEEE 802.12 10BASE-2, 137 10BASE-5, 137 10BASE-F, 137 10BASE-T, 137 10BROAD-36, 138 568SC, conector, 448 A Acceso al medio, 36, 48. Véase subnivel de acceso al medio Acceso básico de RDSI, 148 Acceso híbrido de RDSI, 148 Acceso primario de RDSI, 148 Acceso telefónico a redes, 454 ACL. Véase lista de control de acceso Active Directory. Véase directorio activo Actualización dinámica DNS, 257 Adaptador de red. Véase tarjeta de red Admin$, carpeta, 351 Administrador, 273, 331, 343 Administrador de discos, 310, 312 Administrador de dispositivos, 455 Administrador de servicios de Internet, 386 Administrador de usuarios para dominios, 335 Administrador DHCP, 368 ADMINPAK.MSI, utilidad, 290 ADSL. Véase línea asimétrica digital de suscriptor Adyacencia entre palabras, 165 Agregar nuevo hardware, 455 Agregar o quitar programas, 287 ALOHA, 177 ALOHA ranurado, 177, 188 AM. Véase modulación Ámbito, 368 Amplificador, 104, 126 Amplitud de una señal, 91 Ancho de banda, 92 ANSI. Véase Instituto Americano de Normas Nacionales ANSI/EIA/TIA-568, 109, 442, 444, 446, 448 ANSI/EIA/TIA-569, 450 ANSI/EIA/TIA-606, 450 ANSI/EIA/TIA-607, 451 Antivirus, 421 apache, paquete, 406 RA-MA 518 REDES DE ÁREA LOCAL Árbol de dominio, 282, 283 Archivo, 303 Archivo adjunto de correo, 249 Archivo de zona, 393 ARCnet, 74, 135, 164 Área de trabajo, 443 Armario de distribución, 443 Armónicos de una señal, 92 ARP. Véase protocolo de resolución de direcciones arp, archivo, 476, 481 arp, comando, 388, 474 ARP, comando, 461 ARPANET, 62 Arquitectura de red, 73 definición, 36 por niveles, 36 Arquitectura de red de Novell, 66 Arquitectura de red Microsoft, 71 Arquitectura de sistemas de red, 64, 268 Arquitectura TCP/IP, 62 capa de red, 206 configuración, 470 configuración en Windows, 459 problemas de diseño, 64 Asignación dinámica de direcciones, 229 configuración, 387, 459, 470, 474 configuración Windows, 368 ASK. Véase modulación Ataque, 411 Ataque de negación de servicio, 412 Atenuación, 103 ATM. Véase modo de transferencia asíncrono Atributos de archivo Extensión 2, 317 Extensión 3, 317 FAT32, 306 NTFS, 307 AUI, conector, 113 Autenticación, 414 B Backbone. Véase red troncal Banda, 304 Base de un sistema de numeración, 9 Baudio, 106 BDC. Véase controlador de reserva de dominio BGP-4, protocolo, 268 BIND. Véase dominio de nombres de Internet de Berkeley bit, 164 Bits por segundo, 95, 106 Bloque de mensajes del servidor, 71 BNC, conector, 113 BOOTP, 229 Bosque, 283 bps. Véase bits por segundo Bridge. Véase puente Buffer de impresión, 364 C C$, carpeta, 352 Caballo de Troya, 411 Cable cruzado, 129, 445 Cableado de campus, 443 horizontal, 443 troncal, 443 Cableado estructurado, 109, 441 Calidad del servicio, 241 Canal A de RDSI, 148 Canal B de RDSI, 148 Canal C de RDSI, 148 Canal D de RDSI, 148 Canal E de RDSI, 148 Canal H de RDSI, 148 Capa de soporte al enlace, 186 CAPI, 77 Carpeta, 303 Carpeta compartida, 283 Catálogo global, 283, 435 Categorías de cableado, 110, 111, 447 CCITT, 30, 266 CDDI. Véase interfaz de datos distribuido por cobre CDE. Véase entorno de escritorio común Celda, 69 Centro de información de la red, 209 Certificación de instalación, 450 RA-MA CFS, 427 chattr, comando, 316 chmod, comando, 357, 429 chown, comando, 355 CIDR. Véase encaminamiento interdominio sin clases Cifrado, 418 por sustitución, 419 por transposición, 419 Circuito integrado, 5, 82 Clases de direcciones IP, 208 Clases de servicio, 241 Clave privada, 418 pública, 418 Cliente, 73 para Novell NetWare, 275 para redes Microsoft, 275, 280 X, 400 Cliente para redes Microsoft, 457, 463 CN. Véase nombre común Coaxial, 112 de banda ancha, 113 de banda base, 112 delgado, 113, 122 grueso, 113, 122 Código Morse, 7 Códigos, 164 bifase, 98 correctores de error, 172 de paridad bidimensional, 169 de paridad en RAID, 304 de paridad simple, 168 de redundancia cíclica, 170 densos, 165 detectores de error, 165 distancia, 165 distancia entre palabras, 165 Hamming, 172 Miller, 98 NRZ, 97 NRZ-M, 97 rendimiento, 167 RZ, 97 Cola de impresora, 365, 380 Colisión, 176 Compartir, 309, 317, 319, 324, 332 impresoras, 377 ÍNDICE 519 Componente de dominio, 285 Componentes de Windows, 287 Comunicación extremo a extremo, 237 Comunicación, definición, 2 Concentrador, 28 Concentrador de cableado, 127 activo, 127, 135 con topología en anillo, 128, 138 con topología en bus, 128 conexión, 129 dual, 138 FDDI, 143 pasivo, 127, 135 simple, 138 Conector, 242 Conexión directa por cable, 131 Congestión, 202 Conjunto de bandas, 313 Conjunto de espejos, 312 Conjunto de volúmenes, 312 Conjunto redundante de discos económicos, 304 niveles, 304 soporte en Windows, 312 Conmutación de circuitos, 25, 198 de mensajes, 26, 198 de paquetes, 26, 198 Conmutador, 183, 206, 429 Conmutador ABC, 6 CONNECT, 51 Consejo de Arquitectura de Internet, 30 Consulta DNS recursiva, 255 Contacto, 283 Contenedor, 284 Control de enlace de datos de alto nivel, 76, 185 Control de errores, 49, 156 tipos de errores, 156 Control de flujo, 48, 161 Control del enlace lógico, 75, 185, 187 Controlador de dispositivo, 123 Controlador de reserva de dominio, 280 Controlador primario de dominio, 280 Convención de nombres universal, 308 Copia de seguridad, 415 RA-MA 520 REDES DE ÁREA LOCAL core, archivo, 426, 427 Correo electrónico, 249, 265 direcciones, 285 Correspondencia directa, 256 inversa, 256 Cortafuegos, 205, 430 CRC. Véase códigos de redundancia cíclica crypt, comando, 427 CSMA no persistente, 178 CSMA persistente, 178 CSMA/CA, 179 CSMA/CD, 178, 188 D DAS. Véase estación de doble enlace DATA, 51 dB. Véase decibelios DB-25, conector, 133, 134 DB-9, conector, 133, 134 DC. Véase componente de dominio Decibelios, 106 Demonio de la pila de protocolos NetWare, 245 Derechos en Linux, 352, 354 en Windows 2000, 346 en Windows NT, 337 desktop, archivo, 293 Detección de portadora, 176 Detector de intrusos, 435 dev, carpeta, 355 DHCP. Véase asignación dinámica de direcciones dhcpd, proceso, 388 dhcpd.conf, archivo, 388 dhcpd.leases, archivo, 388 Diafonía, 104 Dirección de correo electrónico, 285 IP, 207 IP, clases, 208 IPv6, 226 IPX, 231 MAC, 163, 231, 369 Direccionamiento, 48, 163, 203, 239 Direccionamiento IP, 207 Directiva de grupo, 346, 348, 380 añadir, 349 Directiva de seguridad, 346, 424 Directorio, 303 Directorio activo, 282 Disco básico, 312 Disco dinámico, 313 DISCONNECT, 51 DISPLAY, variable de entorno, 400 Dispositivo de alimentación ininterrumpida, 413 Dispositivos de un ordenador, 17 Distorsión de atenuación, 104 Distribución de Linux, 291 DNS. Véase sistema de nombres de dominio DoD, 62 Dominio, 252 de país, 251 genérico, 251 Dominio de nombres de Internet de Berkeley, 258, 389, 479 Dominio de Windows, 275, 280, 282, 335, 341 DoS. Véase ataque de negación de servicio E ECD. Véase equipo de comunicación de datos Editor de planes del sistema, 279, 335, 338 EGP, protocolo, 268 EIGRP, protocolo, 268 Emulador de terminal, 258 EN-50173, 109, 442 Encaminador, 67, 204, 206, 213, 267, 366, 404, 430, 437 Encaminamiento, 48, 197, 200 estático fijo, 200 IP, 213 por inundación, 201 tablas, 200, 213 Encaminamiento interdominio sin clases, 224 Engastadora, 444 RA-MA ÍNDICE 521 ENIAC, 5 Enlace múltiple a controladores de interfaz, 186 Ensamblador y desensamblador de paquetes, 76 Entidad, 43 Entorno de escritorio común, 292 Entorno de escritorio K, 292 Entorno de red, 277, 332 Entramado, 158 Equipo, 284 Equipo de comunicación de datos, 28 Equipo terminal de datos, 28 Espejo, 304 Estabilizador de tensión, 413 Estación de clase A. Véase estación de doble enlace Estación de clase B. Véase estación de enlace simple Estación de doble enlace, 140 Estación de enlace simple, 140 Estación de trabajo, 67, 273, 280, 284 Estándar de facto, 29 de iure, 30 etc, carpeta, 475 ETD. Véase equipo terminal de datos eth0, controlador, 469 Ethernet. Véase IEEE 802.3 Exploración de la red, 278 Explorador de Windows, 278, 288, 307, 308, 338 export, comando, 401 exports, archivo, 318, 428 ext2fs. Véase extensión 2 ext3fs. Véase extensión 3 Extensión 2, 302, 313 Extensión 3, 302, 313 F Fase de una señal, 91 Fast Ethernet. Véase IEEE 802.3 FAT, 302, 305 FAT32, 302, 305 fd0, controlador, 355 FDDI. Véase intrefaz de datos distribuido por fibra FDISK, programa, 310 Fibra óptica, 116, 447 empalmes, 118 monomodo, 117 multimodo, 117 multimodo de índice gradual, 118 Fichero, 303 find, comando, 427, 429 finger, servicio, 428 Firewall. Véase cortafuegos firewall.rc.config, archivo, 432 FireWire. Véase puertos de comunicaciones FireWire Firma digital, 420 FM. Véase modulación Fourier, Teorema de, 92 FQDN. Véase nombre totalmente cualificado Frame. Véase trama Frame Relay, 22, 75, 77, 185 Frecuencia de una señal, 91 FSK. Véase modulación fstab, archivo, 315, 427 FTP. Véase protocolo de transferencia de archivos. Véase par trenzado apantallado Fuerza bruta, algoritmo, 420 Funciones del nivel de enlace, 155 G Gateway. Véase pasarela gateways, archivo, 405 GID. Véase identificador de grupo Gigabit Ethernet. Véase IEEE 802.3 Gnome, 292 GPO. Véase objeto de política de grupo grep, comando, 294 groupadd, comando, 352 groupdel, comando, 352 Grupo, 284, 343, 352 global, 344 local, 344 local al dominio, 344 universal, 344 Grupo de trabajo, 276, 332 Grupos 522 REDES DE ÁREA LOCAL globales, 280 locales, 280 Guión, 160 H HDLC. Véase control de enlace de datos de alto nivel Herencia en Windows 2000, 348, 350 Herramientas administrativas, 288 Hipertexto, 264 Hipervínculo, 265 host.conf, archivo, 476, 479 HOSTNAME, archivo, 476, 481 hosts, archivo, 256, 318, 476, 479, 481 hosts.allow, archivo, 428 hosts.deny, archivo, 428 hosts.equiv, archivo, 399 HOSTS.SAM, archivo, 256, 460 HPFS, 302 htdocs, carpeta, 406 HTML, 264 HTTP. Véase protocolo de transferencia de hipertexto httpd, carpeta, 406 httpd.conf, archivo, 406 HUB. Véase concentrador de cableado con topología en bus I IAB. Véase Consejo de Arquitectura de Internet Iberpac, 20, 76 Identificación de equipo en Windows, 277 Identificador de grupo, 354 Identificador de usuario, 354 IEEE. Véase Instituto de Ingenieros Eléctricos y Electrónicos IEEE 1394, 132 IEEE 802, 74, 187 IEEE 802.10, 189 IEEE 802.11, 139, 145, 179, 188 IEEE 802.12, 188 IEEE 802.2, 187 IEEE 802.3, 137, 163, 188 IEEE 802.4, 188 RA-MA IEEE 802.5, 138, 163, 188 IEEE 802.6, 188 IEEE 802.7, 188 IEEE 802.8, 189 IEEE 802.9, 189 ifcfg-eth0, archivo, 477, 486 ifconfig, comando, 469, 474 IGRP, protocolo, 268 IIS. Véase servidor de información de Internet IMP. Véase nodo Impresora, 284 local, 364, 403 Novell, 403 remota, 364, 403 TCP/IP, 378 Windows, 403 in.ftpd, proceso, 262, 398 in.rlogind, proceso, 399 in.telnetd, proceso, 259, 398 in-addr.arpa, dominio, 256, 394 index.html, archivo, 387, 406 inetd, proceso, 259, 262, 398 inetd.conf, archivo, 398, 399, 428, 476, 481 Información de control, 44, 155 Información, definición, 2 Informática, definición, 2 Inicio de sesión en Windows, 275 Inicio de sesión principal, 464 i-nodo, 313 insmod, comando, 468 Instalación de Windows, 287 Instalar programas, 287 Instituto Americano de Normas Nacionales, 30 Instituto de Ingenieros Eléctricos y Electrónicos, 30, 74 Intercambio de paquetes interred, 67, 230, 245 direcciones, 231 Intercambio de paquetes secuenciado, 244 Interconexión de sistemas abiertos, 57 Interfaz, 47, 198 Interfaz de datos distribuido por cobre, 145 RA-MA ÍNDICE 523 Interfaz de datos distribuido por fibra, 130, 140, 189 Interfaz de datos distribuido por par trenzado, 145 Interlink, 131 Internet, 21 estructura, 21 servicios, 21 Inundación, 201 Invitado, 343 IP. Véase protocolo de interred IPC$, carpeta, 352 IPCONFIG, comando, 461 IPv6. Véase protocolo de interred versión 6 ipv6.int, dominio, 256 IPX. Véase intercambio de paquetes interred ipx, comando, 324 ISA. Véase ranura de expansión ISDN. Véase red digital de servicios integrados ISO. Véase Organización Internacional de Normalización ISO 2110, protocolo, 133 ISO 4902, protocolo, 133 ISO/IEC 11801, 109, 442, 448 ITU. Véase Unión Internacional de Telecomunicaciones K KDE. Véase entorno de escritorio K Kerberos, 400 klogin, archivo, 400 konqueror, programa, 314 ktsysv, comando, 295 L LAN. Véase red de área local LAP-B, 185 LAP-D, 185 Latiguillo, 444, 448 Latiguillo cruzado, 130 LDAP. Véase protocolo ligero de acceso al directorio Línea asimétrica digital de suscriptor, 22, 77 linuxconf, comando, 295 Lista de control de acceso, 359 LLC. Véase control del enlace lógico LMHOSTS.SAM, archivo, 246, 463 login, proceso, 259 Longitud de onda, 119 lpr, comando, 323 ls, comando, 314, 355 lsattr, comando, 316 LSL. Véase capa de soporte al enlace lsmod, comando, 468 M MAC. Véase subnivel de acceso al medio MAN. Véase red de área metropolitana man, comando, 325 Mapa de bits, 179 marsnwe, paquete, 325 Máscara de red, 216, 226 Máscara de subred, 220 MAU. Véase concentrador de cableado con topología en anillo mcrypt, comando, 427 Medios de transmisión características, 108 comparativa, 121 guiados, 108 inalámbricos, 119 no guiados, 108 Métrica, 214 MIC, conector, 141 Microondas, 120 MILNET, 62 MLID. Véase enlace múltiple a controladores de interfaz MNP. Véase protocolo de red de Microcom Módem, 100, 123 configuración en Linux, 465 instalación en Windows, 453 normas, 132 nulo, 27, 134 Modo de transferencia asíncrono, 22, 68 Modulación, 99 AM, 100 RA-MA 524 REDES DE ÁREA LOCAL analógica con portadora analógica, 100 analógica con portadora digital, 101 ASK, 101 digital con portadora analógica, 100 digital con portadora digital, 101 FM, 100 FSK, 101 multibit, 102 PM, 100 PSK, 101 QAM, 102 Modulada, 99 Moduladora, 99 modules.conf, archivo, 469, 475, 477 Módulo, 468 Montaje de unidades, 315, 319, 324, 325 mount, comando, 315, 319, 324, 427 Multiplexación, 49, 90, 239, 241 por división de frecuencia, 90 por división de longitud de onda, 90 por división de tiempo, 90 Multiplexor, 28 Muro de seguridad, 430 N named, proceso, 389 named.boot, archivo, 389 named.conf, archivo, 389, 436 named-bootconf, utilidad, 389 NAT. Véase traducción de direcciones de red NCP. Véase protocolo central de la red ncpfs, paquete, 325, 359, 403 ncpmount, comando, 325 ncpumount, comando, 325 NDIS, 72, 186 NDS. Véase servicio de directorios NetWare Negación de servicio, 437 NET, comando, 290 NetBEUI, 71, 231, 246 NetBIOS, 68, 71, 245, 276, 332, 435, 462 NetBT, 72, 231, 246 Netlogon, carpeta, 352 netstat, servicio, 428 network, archivo, 404, 476, 485 networks, archivo, 476, 480 NFS. Véase sistema de archivos de red NIC. Véase centro de información de la red. Véase tarjeta de red Niveles de tensión digitales, 82 Nodo, 17, 197 Nombre común, 285 Nombre distinguido, 285 Nombre NetBIOS, 245, 276, 412 Nombre totalmente cualificado, 252 Nombre UNC. Véase convención de nombres universal Normalización, 29 categorías, 29 Npasswd, comando, 426 NPSD. Véase demonio de la pila de protocolos NetWare nscd.conf, archivo, 476, 484 nslookup, comando, 395 nsswitch.conf, archivo, 476, 479 NT1, 146 NT2, 147 NTBACKUP, comando, 416 NTFS, 302, 306 Núcleo del sistema, 291 Número de secuencia, 154 NWLink, 72 Nyquist, Teorema de, 107 O O. Véase organización Objeto de política de grupo, 348 ODI, 72, 186 Ondas de luz, 121 Ondas de radio, 119 Ondas infrarrojas, 121 Ondas milimétricas, 121 Organización, 285 Organización Internacional de Normalización, 30, 57 OSI. Véase interconexión de sistemas abiertos OSPF. Véase primero el camino abierto más corto OU. Véase unidad organizativa RA-MA ÍNDICE 525 P PAD. Véase ensamblador y desensamblador de paquetes Panel de control, 402, 466, 469 de Linux, 295 de Windows, 279 Panel de parcheo, 449 Paquete, 59 de información de encaminamiento, 367 Par sin trenzar, 109 Par trenzado, 110 apantallado, 111, 122, 444, 447 apantallado individualmente, 110 no apantallado, 110, 122, 444, 447 Paridad. Véase cógidos de paridad Partición, 303 Pasarela, 267 Paso de testigo, 179 passwd, archivo, 426 passwd, comando, 426 PCI. Véase ranura de expansión PDC. Véase controlador primario de dominio Perfil de usuario, 344 tipos, 345 Permisos, 415 en Linux, 356 en Windows 2000, 346, 349, 351 en Windows NT, 338 Personal Firewall, 432 Petición de comentarios, 30 PGP, 427 ping, comando, 412, 474 PING, comando, 460 Planificador de tareas, 416 Planos de ATM, 70 Plug and Play, 455, 456 PM. Véase modulación PnP. Véase Plug and Play Poledit. Véase editor de planes del sistema POP3. Véase protocolo de oficina postal Portadora, 99 PPP. Véase protocolo punto a punto pppd, proceso, 465 Prefijo de red, 212, 226 Prefijo de red extendido, 217 Primero el camino abierto más corto, 207 Primitiva, 51 Primitivas TCP, 243 Primitivas UDP, 244 Print$, carpeta, 352 printcap, archivo, 322 printtool, comando, 295 Procesador de señales avanzado, 77 Proceso par, 43 Programa, 5, 17 Definición, 3 Propietario, 355 Protocolo, 18, 36, 73 de alto nivel, 36, 250 de bajo nivel, 36 de nivel n, 43 jerarquía, 37 Protocolo central de la red, 68, 266 Protocolo de control de la transmisión, 63, 241 Protocolo de datagramas de usuario, 241, 244 Protocolo de información de encaminamiento, 207, 437 Protocolo de interred, 63, 206 asignación de direcciones IP, 222 clases de direcciones, 208 direccionamiento, 207 encaminamiento, 213 máscara de red, 216, 226 prefijo, 226 prefijo de dirección, 212 versión 6, 225 Protocolo de oficina postal, 265 Protocolo de publicidad del servicio, 67 Protocolo de red de Microcom, 133 Protocolo de resolución de direcciones, 182, 228, 429 configuración, 461, 474 Protocolo de resolución de direcciones inverso, 229 Protocolo de transferencia de archivos, 260, 319, 398, 427 órdenes, 261, 262, 263 526 REDES DE ÁREA LOCAL Protocolo de transferencia de hipertexto, 265 Protocolo ligero de acceso al directorio, 285, 286 Protocolo punto a punto, 185, 466 Protocolo simple de transporte de correo, 265 Protocolo trivial de transferencia de archivos, 264, 427 protocols, archivo, 476, 478 Proveedor de acceso a Internet, 21 PSK. Véase modulación PTR. Véase puntero de registro de recursos Puente, 180, 206 de 802.x a 802.y, 182 remoto, 183 transparente, 183 Puerta de enlace. Véase pasarela Puerto de transporte, 242 Puertos de comunicaciones FireWire, 123, 132 limitaciones, 27 paralelo, 6, 27, 123, 131 serie, 6, 27, 123, 131 USB, 27, 123, 131 Puertos TCP/UDP, 242, 435 Puntero de registro de recursos, 257 Punto de acceso al servicio, 47 Q QAM. Véase modulación QoS. Véase calidad del servicio R Rack, 450 RAID. Véase conjunto redundante de discos económicos Ranura de expansión, 123 Ranura de tiempo, 177 RARP. Véase protocolo de resolución de direcciones inverso rc.config, archivo, 389, 398, 400, 402, 404, 406, 428, 432, 476, 477, 482 rcapache, comando, 406 rcnamed, comando, 389 rcp, servicio, 427 RA-MA RDSI. Véase Red Digital de Servicios Integrados Recursos, definición, 72 Red, 19 características, 5 clasificación, 22 compartida, 23 con servidor, 273, 274 conmutada, 25 de área extensa, 27 de área local, 27 de área metropolitana, 27 de campus, 27 de difusión, 26 de transmisión de datos, definición, 3 dedicada, 22 elementos básicos, 4 entre iguales, 273, 274 exploración, 278 historia, 5 Microsoft, 274, 275 Novell, 275 virtual, 185 Red Digital de Servicios Integrados, 20, 76, 146 Red Telefónica Conmutada, 20, 96 Red troncal, 130 Redes inalámbricas. Véase IEEE 802.11 Redundancia, 161, 166 Registro de recursos, 254 Registros de zona, tipos, 255 Relación de confianza, 281 Relación señal-ruido, 105 Repetidor, 104, 126 Repl$, carpeta, 352 Resolución WINS, 246, 257 resolv.conf, archivo, 476, 480 Resolvedor, 254, 479, 481 RFC. Véase petición de comentarios RFC 1001, 231 RFC 1002, 231 RFC 1032, 257 RFC 1033, 257 RFC 1034, 254 RFC 1035, 254 RFC 1122, 242 RA-MA ÍNDICE 527 RFC 1225, 265 RFC 1323, 242 RFC 1517, 224 RFC 1518, 224 RFC 1519, 224 RFC 1520, 224 RFC 793, 242 RFC 821, 265 RFC 826, 228 RG-100. Véase coaxi