Universidad de Guadalajara. Centro Universitario de Ciencias Económico − Administrativas. PROTOCOLOS DE RED. DICIEMBRE 2000 PROTOCOLOS DE RED. Un Protocolo es un conjunto de reglas que gobiernan el formato y el significado de los marcos , paquetes o mensajes que se intercambian entre las entidades pares dentro de una capa. Las entidades usan protocolos con el fin de instrumentar sus definiciones de servicios. ARP (Address Resolution Protocol), Protocolo de Resolución de direcciones. Casi todas las máquinas de Internet lo ejecutan. Este protocolo se define en el RFC 826. La ventaja del ARP sobre los archivos de configuración es la sencillez. El administrador del sistema no necesita hacer mucho, excepto asignar a cada máquina una dirección IP y decidir sobre las máscaras de subred. El ARP hace lo demás. Son posibles varias optimizaciones para hacer mas eficiente el ARP. Por principio de cuentas, una vez que una máquina ha ejecutado el ARP, pone en caché el resultado por si necesita establecer contacto con la misma máquina pronto. La siguiente vez encontrará proyección en su propio caché, eliminando por tanto la necesidad de una segunda difusión. En muchos casos, el host 2 necesitará devolver una respuesta, lo que lo obliga también a ejecutar el ARP para determinar la dirección Ethernet del transmisor. Esta transmisión ARP puede evitarse haciendo que el host 1 incluya su proyección de IP a Ethernet en el paquete ARP. Al llegar la difusión del ARP al host 2, se ingresa el par (192.31.65.7,E1) en el caché de ARP del host2 para su uso futuro. BOOTP (Bootstrap Protocol) Usa mensajes UDP, los cuales se reenvían a través de los enrutadores. Este protocolo también proporciona información adicional a una estación de trabajo sin disco, incluída la dirección IP del enrutador predeterminado y la máscara de subred a usar. EGP (Exterior Gateway Protocol) Protocolo de salida exterior. Protocolo que emite direcciones TCP/IP a la salida en otra red. 1 ICMP (Internet Control Message Protocol). El protocolo ICMP, proporciona el medio para que el software de hosts y gateways intermedios se comuniquen. El protocolo ICMP tiene su propio numero de protocolo (numero 1), que lo habilita para utilizar el IP directamente. La implementación de ICMP es obligatoria como un subconjunto lógico del protocolo IP. Los mensajes de error de este protocolo los genera y procesa TCP/IP, y no el usuario. Formato del mensaje ICMP Cada Mensaje ICMP esta compuesto por los siguientes campos: Tipo (Ver Tabla 7) Código Checksum Otras variables Tipos de mensaje ICMP TIPO 0 3 4 5 8 11 13 13 14 17 18 TIPO DE MENSAJE Respuesta de Eco Destino Inalcanzable Origen Saturado Redirección (Cambiar Ruta). Solicitud de Eco Tiempo excedido para un datagrama Problema de parámetros en un datagrama. Solicitud de fecha y hora Respuesta de fecha y hora Solicitud de máscara de dirección. Respuesta de máscara de dirección Un Host puede comprobar si otro Host es operativo mandando una solicitud de eco. El receptor de la solicitud la devuelve a su origen. Esta aplicación recibe el nombre de Ping. Esta utilidad encapsula la solicitud de eco del ICMP (tipo 8) en un datagrama IP y lo manda a la dirección IP. El receptor de la solicitud de eco intercambia las direcciones del datagrama IP, cambia el código a 0 y lo devuelve al origen. Si un Gateways no puede enviar un datagrama a la direccion de destino, este manda un mensaje de error ICMP al origen. El valor del campo tipo es 3, y el tipo de error viene dado por el campo codigo. Codigos de Inalcanzable Código 0 1 Descripción Red no alcanzable Host no alcanzable 2 2 3 4 5 6 7 8 9 10 11 12 Protocolo no alcanzable Puerto no alcanzable Necesaria fragmentacion con la opcion DF Fallo de la ruta de origen Red de Destino desconocida Host de Destino desconocido Fallo del Host de Origen Red prohibida administrativamente Host prohibido administrativamente Tipo de servicio de Red no alcanzable Tipo de servicio de Host no alcanzable IGMP (Internet Group Management Protocol). Protocolo de Administración de Grupos de Internet. Es vagamente análogo al ICMP. Tiene solo dos tipos de paquetes, solicitud y respuesta, teniendo cada uno un formato fijo y sencillo que contiene cierta información de control en la primera palabra del campo de carga útil y una dirección clase D en la segunda palabra. El enrutamiento multitransición se hace usando árboles de extensión. Cada enrutador multitransmisión intercambia información con sus vecinos usando un protocolo de vector de distancia modificado a fin de que cada uno construya un árbol de extensión por grupo, cubriendo a todos los miembros del grupo. Se usan varias optimizaciones para podar el árbol y eliminar enrutadores y redes no interesadas en grupos en particular. El protocolo hace uso intensivo del proceso en túnel para evitar dar molestias a nodos que no están en un árbol de extensión. IP (Internet Protocol). Protocolo de Internet. El pegamento que mantiene unida la Internet es el protocolo de la capa de red IP. A diferencia de la mayoría de los protocolos de la capa de red anteriores, éste se diseñó desde el principio con la interconexión de redes en mente. Una buena manera de visualizar la capa de red es la siguiente. Su trabajo es proporcionar un medio de mejor esfuerzo para el transporte de datagramas del origen al destino, sin importar si éstas máquinas están en la misma red, o si hay otras redes entre ellas. Un datagrama IP consiste en una parte de cabecera y una parte de texto. La cabecera tiene una parte fija de 20 bytes y una parte opcional de longitud variable. Direcciones IP Cada host y enrutador de Internet tiene una dirección de IP, que codifica su número de red y su número de host. La combinación es única, no hay dos máquinas que tengan la misma dirección de IP. Todas las direcciones de IP son de 32 bits de longitud y se usa en los campos de dirección de origen y dirección de destino de los paquetes IP. 3 Los formato de clase A,B.C y D permiten hasta 126 redes con 16 millones de host en cada una, 16,386 redes con hasta 64K host, 2 millones de redes (por ejempo, LAN) de hasta 254 host cada una, y multitransmisión, en la cual se dirige un datagrama a múltiples host. Los valores 0 y 1 tienen significado especial, el valor 0 significa que está red o este host. La dirección IP 0.0.0.0 es usada por los host cuando están siendo arrancados, pero no se usa después. Las direcciones de IP con 0 como número de red se refiere a la red acutal. IP ng (IP v6) Esta es una nueva versión del protocolo IP, llamada IPv6, aunque también es conocida como IPng (Internet Protocol Next Generation). Es la versión 6, debido a que la numero 5 no paso de la fase experimental. La compatibilidad con la versión 4 es prácticamente total, ya que se han incluido características de compatibilidad. Algunas de las modificaciones, estan encaminadas a mejorar la seguridad en la red, que apenas existía en la versión 4. Formato de la cabecera. Esta cabecera ocupa el doble que la anterior, pero se ha simplificado omitiendo algunos campos y haciendo que otros sean opcionales. De esta manera, los routers no tienen que procesar tanta información. Los campos son los siguientes: Versión: Este campo ocupa 4 bits, y contiene el numero de versión del IP, en este caso 6. Prioridad: Ocupa 4 bits, y indica la importancia del paquete que se esta enviando. Etiqueta de Flujo: Ocupa 24 bits. Indica que el paquete requiere un tratamiento especial por parte de los routers que lo soporten. Longitud: Ocupa 16 bits. Indica la longitud en bytes de los datos del mensaje Siguiente Cabecera: Ocupa 8 bits e indica a que protocolo corresponde la cabecera que esta a continuación de la actual. Tiempo de vida: Ocupa 8 bits y tiene la misma funcion que el la versión 4. Dirección de origen: Ocupa 128 bits (16 octetos), y es el numero de dirección del origen. Dirección de Destino: Ocupa 128 bits (16 octetos). Es el numero de dirección del destino. OSPF (Open Shortest Path First). Abrir primero la trayectoria más corta. El OSPF reconoce tres tipos de conexiones y redes: 1.− Líneas punto a punto entre dos enrutadores (exactamente). 2.− Redes multiacceso con difusión (por ejemplo, la mayoría de las LAN). 4 3.− Redes multiacceso sin difusión (por ejemplo la mayoria de las WAN de conmutación de paquetes). OSPF funciona haciendo una abstracción del conjunto de redes, enrutadores y líneas en un grafo dirigido en el que a cada arco se le asigna un costo (distancia, retardo, etc..) Entonces se calcula la trayectoria mas corta con base en los pesos de los arcos RARP (Reverse Address Resolution Protocol), Protocolo de resolución de direcciones reversa. Este protocolo permite que una estación de trabajo recién iniciada difunda su dirección Ethernet y diga mi dirección Ethernet de 48 bits es de 14.04.05.18.01.25 ¿Alguien sabe cual es mi dirección IP? El uso de RARP es preferible a integrar una dirección de IP en la imagen de memoria, pues permite usar la misma imagen para todas las máquinas. Una desventaja del RARP es que es una dirección de destino que contiene únicamente unos (difusión limitada) para llegar al servidor RARP RIP (Routing Information Protocol). Protocolo de información de dirección. Protocolos de dirección en TCP/IP y NetWare utilizado para identificar todas las redes adicionadas, así como el número de saltos del encaminador requerido para llegar a éstas. Las respuestas se usan para actualizar la tabla de dirección de un encaminador SMTP (Simple Mail Transfer Protocol). Protocolo sencillo de transferencia de correo. En el Internet, el correo electrónico se entrega al hacer que la máquina de rigen establezca una conexión TCP con el puerto 25 de la máquina de destino. Escuchando en este puerto está un daemon de correo electrónico que habla con el SMTP. Este daemon acepta conexiones de entrada y copia mensajes de ellas a los buzones adecuados. Si no puede entregarse un mensaje, se devuelve al transmisor un informe de error que contiene la primera parte del mensaje que no pudo entregarse. SMTP en un protocolo ASCII sencillo. SNMP La forma normal de uso del SNMP es que la estación administradora envíe una solicitud a un agente pidiéndole información o mandándole actualizar su estado de cierta manera. Idealmente la respuesta del agente es simplemente la información solicitada o la confirmación de que ha actualizado su estado según lo solicito. Los datos se envían empleando sintaxis de transferencia del ASN.1. Sin embargo, también pueden informarse varios errores, como no existe tal variable. El SNMP define siete mensajes que pueden enviarse. Los seis mensajes de un iniciador se listan en el siguiente cuadro (el séptimo mensaje es el de respuesta): Tipos de Mensajes SNMP. 5 Mensaje Get−request Get−next−request Get− bulk−request Set−request Inform−request SnmpV2−trap Descripción Solicita el valor de una o mas variables. Solicita la variable que sigue a ésta. Obtiene una tabla grande. Actualiza una o mas variables. Mensaje de administrador a administrador describiendo la MIB local. Informe de interrupciones de agente a administrador. Los primeros 3 mensajes solicitan la devolución de valores de variables. El primer formato nombra explícitamente las variables que quiere. El segundo solicita la siguiente variable, permitiendo al administrador ir paso a paso a través de la MIB en orden alfabético (la predeterminada es la primera variable ). El tercero es para transferencias grandes como tablas. TCP El protocolo TCP proporciona un servicio de comunicacion que forma un circuito, es decir, que el flujo de datos entre el origen y el destino parece que sea continuo. TCP proporciona un circuito virtual el cual es llamado una conexión. Al contrario que los programas que utilizan UDP, los que utilizan el TCP tienen un servicio de conexión entre los programas llamados y los que llaman, chequeo de errores, control de flujo y capacidad de interrupción. Interfaces TCP Existen dos tipos de interfaces entre la conexión TCP y los otros programas. El primero es utilizar la pila de los programas de la capa de red. Como en esta capa solo esta el protocolo IP, el interface lo determina este protocolo. El segundo tipo es el interfaz del programa de usuario. Este interface puede variar segun el sistema operativo, pero en general tiene las siguientes caracteristicas. El interface envuelve el programa de usuario llamando a una rutina que introduce entradas en una estructura de datos llamada el bloque de control de transmision (TCB). Las entradas se realizan inicialmente en la pila de hardware y transferidas al TCB por medio de una rutina de sistema. Estas entradas permiten al TCP asociar un usuario con una conexión particular, de modo que pueda aceptar comandos de un usuario y mandarlos a otro usuario en la otra parte de la conexión. TCP utiliza unos identificadores unicos para cada parte de la conexión. Esto se utiliza para recordar la asociacion entre dos usuarios. Al usuario se le asigna un nombre de conexión para utilizarlo un futuras entradas del TCB. Los identificadores para cada estremo de la conexión se llaman sockets. El socket local se construye concatenando la direccion IP de origen y el numero de puerto de origen. El socket remoto se obtiene concatenando la direccion IP de destino y el numero de puerto de destino. El par de sockets de una conexión forman un unico numero en Internet. El UDP tiene los mismos sockets, pero no los recuerda. Esta es las diferencia entre un protocolo orientado a conexión y otro a no conexión. A continuacion se explican los comandos mas usuales: Open: Inicia una conexión o comienza a escuchar un socket. El usuario tiene un nombre de conexión local que actua como un puntero dentro del TCB. Send: El comando Send manda datos del buffer especificado. 6 Receive: El comando Receive es un mensaje de error si el nombre local proporcionado no es utilizado antes con el comando Open. Close: El comando Close hace que se cierre una conexión. Se produce un error si la conexión especificada no ha sido abierta, o si no se tiene autorizacion para cerrar la conexión. Status: El comando Status solo tiene una variable asociada, que es el nombre de la conexión. Abort: El comando Abort hace que todos los comandos Send y Receive asociados al nombre de la conexión local se interrumpan. La entrada del usuario del TCB se elimina y se envia un mensaje especial de reinicio a la entidad del otro lado de la conexión. El TCP recuerda el estado de cada conexión por medio del TCB. Cuando se abre una conexión, se efectua una entrada unica en el TCB. Un nombre de conexión se le asigna al usuario para activar los comandos de la conexión. Cuando se cierra una conexión se elimina su entrada del TCB. Control de Flujo El protocolo TCP puede controlar la cantidad de datos que debe enviar mediante el campo Window. Este campo indica el numero maximo de octetos que pueden ser recibidos. El receptor de un segmento con el campo window a cero, no puede enviar mensajes al emisor, excepto mensajes de prueba. Un mensaje de prueba es un mensaje de un solo octeto que se utiliza para detectar redes o hosts inalcanzables. Estados del TCP El inicio, mantenimiento y cierre de una conexión requiere que el TCP recuerde toda la información relativa a cada conexión. Esta información se almacena en una entrada para cada conexión dentro del TCB. Cuando se abre una conexión, la entrada en el TCB se realiza con todas las variables inicializadas con sus rexpectivos valores. Durante la conexión, la entrada del TCB es actualizada a medida que cambia la información. A continuacion se describen algunos de los estados del TCP: 0. CLOSED: No existe, solo para referencia. 1. LISTEN: Esperando solicitud de conexión de un TCP remoto. 2. SYN−SEN: Esperando un mensaje de solicitud de conexión despues de haber enviado una solicitud de conexión. 3. SYN−RECEIVED: Esperando confirmacion de una reconicimiento de solicitud de conexión, despues de haber enviado y recibido una solicitud de conexión. 7 4. ESTABLISHED: Representa un a conexión abierta. Los datos recibidos pueden ser enviados a un protocolo de una capa superior. Este es el estado normal de la fase de transferencia de la conexión. 5. FIN−WAIT−1: Esperando la solicitud de fin de conexión de un TCP remoto, o un reconocimiento de una solicitud de fin de transmision enviada anteriormente. 6. FIN−WAIT−2: Esperando una solicitud de fin de conexión de un TCP remoto. 7. CLOSE−WAIT: Esperando una solicitud de fin de conexión de un protocolo de una capa superior. 8. CLOSING: Esperando el conocimiento de una solicitud de final de conexión de un TCP remoto. 9. LAST−ACK: Esperando el conocimiento de una solicitud de final de conexión enviada anteriormente al TCP remoto. 10. TIME−WAIT: Esperando el tiempo necesario para que el TCP remoto haya recibido el conocimiento de la solicitud del fin de conexión. TELNET Protocolo y aplicaciones que permiten una conexión como terminal remota a una computadora remota. Protocolo de emulación de terminales comúnmente utilizado en la Internet. Permite al usuario conectarse y ejecutar un programa desde una terminal o computador remoto : telnet fue originalmente desarrollado por ARPAnet y hace parte del protocolo de comunicaciones TCP/ IP. Aunque la mayor parte de los computadores en la Internet requiere que los usuarios tengan una cuenta establecida y una contraseña, existen muchos que permiten el acceso público a ciertos programas, por lo general motores de búsqueda , como Archie o WAIS. UDP (User datagram protocol). Protocolo de datagramas de usuario. Es un protocolo sin conexión, no confiable, para aplicaciones que no necesitan la asignación de secuencia ni el control de flujo del TCP y que desean utilizar los suyos propios. Este protocolo también se usa ampliamente para consultas de petición y respuesta de una sola ocasión, del tipo cliente−servidor, y en aplicaciones en las que la entrega pronta es mas importante que la entrega precisa, como las transmisiones de voz o video. CDPD Cellular Digital Packet Data). Dato de paquete digital cellular. 8 Tipo de transmisión digital que utiliza la red celular: Basado en CelluPlan II de IBM, desplaza dato a 19.2 Kbps a través de intervalos sin uso y siempre cambiantes en los canales de voz. El CDPD está siendo implementado por IBM , AT&T (a través de McCaw Cellular ) y la mayoría de las principales compañías telefónicas. DLC (Data Link Control) Control de enlace de datos. Protocolo empleado en redes Token Ring de IBM. FTP (File Transfer protocol). Protocolo de transferencia de archivos. El cuál permite conectarse a otra computadora y realizar ciertas acciones, tales como: listar los archivos de un directorio, copiar archivos entre ambas computadoras, revisar su contenido y hasta borrarlos si se está autorizado. Hay millones de archivos almacenados en internet y todos son mantenidos en sitios FTP. Por su puesto no se puede ir y tomar todo lo que se desee en un sitio FTP. Muchos solamente disponibles para personas que tienen acceso autorizado, normalmente por medio de alguna cuenta, con la organización que almacena los archivos. Sin embargo un gran número de sitios FTP ofrece un servicio llamado FTP Anónimo, el cual solo tiene un directorio público que se puede acceder, pero normalmente es un directorio muy grande y mantiene una enorme cantidad de archivos en toda clase de temas. HTTP (Hyper Transport Protocol). Protocolo de transporte de hipertextos. Protocolo cliente/servidor para compartir información en Internet. Es la base de World Wide Web. IMAP 4 (Interactive Mail Access Protocol). Protocolo interactivo de acceso a correo. IMAP se diseñó para ayudar al usuario que tiene varias computadoras. La idea es que se basa en que el servidor de correo electrónico mantenga un depósito central al que pueda accederse desde cualquier máquina. Por tanto, a diferencia del POP3, el IMAP no copia el correro electrónico en la máquina personal del usuario porque el usuario puede tener varias. El IMAP tiene muchas características, como la capacidad de direccionar el correo no por número de arribo, sino usando atributos. En este enfoque, un buzón se parece más a un sistema de base de datos relacional que a una secuencia lineal de mensajes. IPX La capa de red utiliza un protocolo de interred no confiable, sin conexión, llamado IPX. Este protocolo transfiere paquetes del origen al destino en forma transparente, aún si la fuente y el destino se encuentran en redes diferentes. En lo funcional IPX es similar a IP, excepto que usa direcciones de 10 bytes en lugar de direcciones de 4 Bytes. IPX/SPX (Sequenced Packet Exchange). Intercambio secuencial de paquetes. 9 Protocolo de comunicaciones de Netware que se utiliza para controlar el transporte de mensajes a través de una red. SPX garantiza que la totalidad del mensaje llegue intacto y utiliza el protocolo IPX de Netware como su mecanismo de despacho. Los programas de aplicaciones utilizan SPX para mover interacción cliente/servidor y para a par entre nodos de red. SPX provee servicios en el estrato 4 del modelo OSI. Net BEUI (NetBIOS extended User Interface) Interfaz de usuario extendido de NetBIOS. Versión mejorada del protocolo NetBIOS que se usa en varios sistemas operativos de redes, como LAN Manager, Lan Server, Windows para Workgroups y Windows NT. LA realización del protocolo de transporte de NetBEUI agrega funciones y características adicionales al NetBIOS y se comunica con el adaptador de redes a través del NDIS. Net BIOS Protocolo de redes comúnmente usado para redes de área local de computadores personales. Provee redirección de impresoras y de archivos. Net BIOS opera en el estrato desesión del Modelo OS. No hay estrato de enrutamiento en Net BIOS ni capacidad de interredes. POP3 (Post Office Protocol). Protocolo de oficina postal. El POP3 tiene comandos para que un usuario establezca una sesión, la termine, obtenga mensajes y los borre. El protocolo mismo consiste en texto ASCII y se asemeja un poco al SMTP. El objetivo del POP3 es obtener correo electrónico del buzón remoto y almacenarlo en la máquina local del usuario para su lectura posterior. PPP (Point to Point Protocol).Protocolo punto a punto. Realiza detección de errores, reconoce múltiples protocolos, permite la negociación de direcciones de IP en el momento de la conexión, permite la verificación de autenticidad y tiene muchas mejoras respecto al SLIP como PPP, el futuro claramente está en PPP, no solo en las líneas por discado sino también en las líneas arrendadoras de enrutador a enrutador. PPP proporciona tres cosas: 1.− Un método de enmarcado que delinea sin ambigûedades el final de un marco y el inicio del siguiente. El formato de marco también maneja la detección de errores. 2.− un protocolo de control de enlace para activar líneas, probarlas, negociar opciones y desactivarlas ordenadamente cuando ya no son necesarias . Este protocolo se llama LCP (Link Control Protocol, Protocolo de control de enlace). 3.− Un mecanismo para negociar opciones de capa de red con independencia del protocolo de red usado. El método escogido consiste en tener un NCP (Network Control Protocol, Protocolo de control de Red) distinto para cada capa conocida. SLIP (Serial Line Internet Protocol). Protocolo Internet en línea serial. Protocolo antecesor de PPP que también permite el establecimiento de conexiones TCP/IP a través de enlaces 10 seriales. 11