Modelo TCP/IP Eduard Lara 1 INDICE 1. Modelo Internet de redes. Niveles 2. Relación con las capas del modelo OSI. 3. Encapsulación en el modelo Internet. 4. Los protocolos de Internet (IP, ICMP, ARP) 5. Ethernet 6. Comandos básicos en redes IP 7. Practicas 2 1. MODELO INTERNET Aspectos en el diseño original del modelo Internet: Descentralización: Funcionamiento de la red en caso de caída de diversos nodos Sistema no orientado a la conexión: no es necesario establecer conexión previa (modo datagrama) Definición de un esquema de @ jerárquico (IP) Uso de comunicaciones fiables y no fiables a nivel de transporte: Protocolos TCP y UDP Multiplexación/demultiplexación de aplicaciones en transporte (concepto de puertos como identificador de las aplicaciones) 3 1. PROTOCOLOS COMERCIALES DEL MODELO DE INTERNET Define un protocolo de Interconexión: IP (Internet Protocol), el cual proporciona un espacio de direcciones lógicas para el encaminamiento Define dos protocolos de transporte: TCP (fiable, control de flujo y de la congestión) y UDP (no fiable, no retransmite la información) Define protocolos asociados: - Encaminamiento (RIP, OSPF ...) - Mapeo @ lógicas en físicas (ARP) - Control de errores (ICMP) 4 2. MODELO INTERNET vs MODELO OSI Internet define sólo 4 niveles Los principales son Transporte e Internet TCP/IP OSI Aplicación Presentación Sesión Transporte Red Enlace de datos Física T F H D R T D E T T N I F H L P T S P T C P P N P Aplicación E T TCP ARP IP UDP Transporte ICMP Internet Ethernet, Token Ring F.R., FDDI Interfaz de Red 5 2. MODELO INTERNET vs MODELO OSI 6 3. ENCAPSULACIÓN TCP/IP aplicación read() Usuario TCP Buffer Rx write() Buffer Tx Aplicación (FTP, Telnet, etc.) APIs (e.g. Socket) Sistema Operativo Cabez. TCP Datos aplicación Puertos Cabez. IP Cabez. TCP Datos aplicación @ IP Cabez. IP Cabez. TCP Datos aplicación @ MAC TCP/UPD IP Driver Tarjeta ethernet IP driver Cabez. Ether. Red ethernet 7 4. PROTOCOLOS INTERNET 8 4. PROTOCOLO IP Protocolo de nivel de red base para la transferencia de datos en Internet, y en la mayoría de las redes actuales. Unidad de información: datagrama o paquete IP. IP es totalmente independiente de la tecnología de red, debajo puede haber cualquier nivel de enlace (ATM, PPP, Ethernet, Token Ring, Frame Relay, ...) Protocolo preparado para ser encaminado entre diferentes subredes que componen una red global. 9 4. PROTOCOLO IP Protocolo no-orientado a la conexión. No realiza ninguna fase de establecimiento, mantenimiento o cierre de la conexión, previo al envío de datagramas. Protocolo no fiable: Carece de seguridad en la entrega de paquetes. IP sólo realiza detección de errores: Si un paquete está mal, lo descarta y envía un aviso ICMP al origen. IP no realiza la retransmisión (corrección) del paquete: De esta función se encarga TCP 10 4. PROTOCOLO IP Sin estado (stateless): No guarda información de estado de las conexiones en curso. Cada datagrama IP es tratado independientemente respecto a otros datagramas (de la misma/distinta conexión). Cada paquete puede seguir caminos diferentes a través de la red hasta su destino. Los paquetes IP pueden ser entregados sin un orden determinado. Los routers trabajan “best effort”, es decir, hacen lo mejor que pueden para encaminar el datagrama, y si no pueden encaminarlo, lo descartan (por ejemplo si el buffer por donde debe encaminarlo esta lleno) 11 4. FORMATO PAQUETE IP 1 2 3 4 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |version|hdr len| TOS | Total length in bytes | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification |flags| Fragment offset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TTL | protocol | header checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 32 - bit source IP address 20-60 bytes | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 32 - bit destination IP address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options (if any) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | data ... (65535 - 20) bytes | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 12 4. FORMATO PAQUETE IP • Version: 4 (IPv4), 6 (IPv6) • Header Length: 4xn bytes (límite 60 bytes), valor normal = 5 • TOS (Type of Service): 3 bits of precedence + 4 bits de TOS + 1 bit a 0. Los 4 bits se activan para indicar: – Precedence: 8 niveles (no usados en IPv4) – minimum delay, maximum throughput, maximum reliability, minimum cost – Actualmente estos 8 bits se usan de manera diferente definidos por nuevos protocolos, e.g. Servicios Diferenciados (Diff Serv) para proporcionar Calidad de Servicio (QoS) en Internet • Total length: max is 65535 bytes, pero típico MTU (Maximum Transfer Unit) es 576 bytes de datagrama IP (viene de X.25) • Identification: incrementado en uno por cada datagrama enviado 13 4. FORMATO PAQUETE IP • Flags + fragment offset: para fragmentar datagramas • TTL (Time To Live): restado en uno por cada router atravesado • Protocol: contenido del datag. IP, e.g datag. IP (0), mensajes ICMP (1), seg. TCP (6), datag. UDP (17), datag. IPv6 (41) ... • Header Checksum: detector de errores • Source/Destination IP addresses • Options (máximo 40 bytes) – Timestamp – Loose source routing • Data: contenido del nivel superior u otros – Segmentos TCP, datagramas UDP, mensajes de otros protocolos de transporte como RSVP, mensajes ICMP, datagramas IP (tunneling) ... – Cada protocolo es identificado por el campo “protocolo”, e.g. TCP = 6 14 CLASIFICACION PROTOCOLOS CAPA DE RED DE IP Routed protocols (protocolos encaminados) • Encapsulan información de nivel 4 (transporte) • Definen un esquema de direcciones jerarquizado • Comunican hosts con hosts (IP, IPX, ...) Routing Protocols (protocolos de encaminamiento) • Buscan rutas óptimas para que los protocolos encaminados sepan a donde dirigir la información • Comunican routers con routers (RIP, IGRP, OSPF, EIGRP, BGP) 15 4. PROTOCOLO ICMP El IP es un método poco confiable para la entrega de paquetes → TCP e ICMP ayudan a que IP sea más confiable: TCP proporciona fiabilidad a IP. ICMP se encarga de notificar al emisor de los errores producidos durante el proceso de envío. ICMP sólo se encarga sólo de reportar la incidencia del problema a la fuente original. No corrige el problema en la red. Es un protocolo de supervisión 16 4. PROTOCOLO ICMP Los mensajes ICMP van encapsulados en datagramas IP, como si fueran un protocolo de nivel superior pero en realidad está en IP (no TCP/UDP). Cabecera ICMP Datos ICMP Nivel Internet Cabecera IP Cabecera TRAMA Datos Paquete IP Datos TRAMA Nivel Enlace 17 4. PROTOCOLO ICMP Los mensajes ICMP pueden ser: de error (pérdida de paquetes) de control (mantener a los hosts informados de eventos como congestión o existencia de un mejor gateway, etc). Los errores en la entrega de mensajes ICMP, no pueden generar sus propios mensajes ICMP (para evitar bucles y congestión en una red que ya tiene fallos). 18 4. TIPOS MENSAJES ICMP 0 Respuesta de Eco (Reply) Query 3 Destino inalcanzable Error 4 Disminución de velocidad en origen Error 5 Redireccionamiento de rutas Error 8 Solicitud de ECO (Request) Query 9 Anuncio de rutas Query 10 Petición de rutas Query 11 Tiempo excedido Error 12 Problemas de parámetros Error 13 Petición de marca de tiempo Query 14 Respuesta a la marca de tiempo Query 15 Petición de información Obsoleto 16 Respuesta de información Obsoleto 17 Petición de máscara de dirección Query 18 Respuesta a la máscara de dirección Query 19 4. PROTOCOLO ARP Complementa la acción de TCP/IP pasando desapercibido a los ojos del usuario. IP utiliza direccionamiento lógico mediante @ lógicas (direcciones IP) Ethernet (redes LAN) utiliza un direccionamiento basado en direcciones físicas (direcciones MAC). Necesidad de un mecanismo que asocie @ IP lógicas con @ MAC físicas. Si un host quiere acceder a un servidor de su red, por mucho que sepa su @ IP, necesita averiguar su @ física, el direccionamiento de Ethernet le obliga. 20 4. PROTOCOLO ARP ARP es un módulo del protocolo TCP/IP, situado entre la capa de red y capa de enlace Su funcionamiento se divide en dos partes: Permite encontrar la @ MAC de otro terminal a partir de su @ IP. Permite responder a solicitudes de otras máquinas Se encarga de mapear @ IP con @ MAC. Mantiene una tabla con los mapeos más recientes entre @ IP y @ MAC → ARP cache Comando ARP -a → Muestra contenido tabla ARP. 21 4. PROTOCOLO ARP (1) Red (3) (5) (2) IP ARP (6) Enlace (4) Driver (7) NIC Físico 22 4. PROTOCOLO ARP 1. El computador quiere enviar un datagrama IP. 2. Mira la tabla de encaminamiento y determina la ruta (o interficie de salida) por donde debe de enviarse el datagrama. Si el nivel IP detecta que se trata de una interficie ethernet, solicita al módulo ARP la @ física que corresponde a la @ IP del destino. Las interficie serie (ppp) no necesitan llamar a este módulo. 3. En el caso de que se trate de una interficie ethernet, el módulo ARP resolvería la @ MAC de un host si la entrega fuera directa o la @ MAC de un gateway si es indirecta. 23 4. PROTOCOLO ARP 4. El módulo ARP consulta la tabla ARP. Si la dirección IP solicitada no se encuentra en la tabla, ARP inicia un procedimiento de resolución: a. Envía mensaje broadcast (ARP Request con @MAC FF:FF:FF:FF:FF:FF) al driver que lo difunde a toda la red. b.Todos los nodos de la red detectan este paquete y comprueban si la @IP pedida corresponde con su dirección IP. c. Sólo aquel host, que coincida su dirección IP, contesta con un paquete ARP Reply de respuesta con su dirección MAC. 24 4. PROTOCOLO ARP 5. Cuando el host emisor recibe la respuesta, el módulo ARP guarda la relación IP-MAC en una tabla residente en memoria para su uso en transmisiones posteriores. ARP retorna al módulo IP la dirección física solicitada. 6. El nivel IP pasa al driver el datagrama a enviar y la @ ethernet de la estación destino. 7. A su vez, el driver que controla la NIC se encarga de pasar el datagrama IP y la dirección ethernet destino a la tarjeta para que la envien. 25 4. PROTOCOLO ARP 1 2 3 4 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Hardware Type | Protocol Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Hard. Length | Prot.Length | Opcode | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sender Hardware Address | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Sender Protocol Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sender Protocol Address | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Target Hardware Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Target Protocol Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Las tramas ARP Request/Reply no van sobre IP, sino que van encapsuladas directamente sobre ethernet. 26 4. FUNCIONALIDADES NIVEL TRANSPORTE Proporciona conectividad extremo-a-extremo entre dos hosts. Sólo se incluyen los protocolos de transporte en los hosts (nunca en los routers a no ser que sean por alguna razón específica, e.g. Gateways, Proxies). Proporcionan estructuración de la información (segmentos TCP y datagramas UDP). Ofrece multiplexación/demultiplexación de la información transmitida por las aplicaciones, mediante un identificador de 16 bits llamado puerto. Segmenta los datos del sistema del host emisor y los reordena en el sistema del host receptor. 27 4. FUNCIONALIDADES NIVEL TRANSPORTE 28 4. NIVEL TRANSPORTE TCP/IP Aplicación Presentación Sesión Transporte FTP HTTP SMTP DNS TCP RIP TFTP DHCP DNS UDP Red IP Enlace Enlace, Token Ring, Frame Relay, FDDI Físico Modelo de referencia OSI Aplicación Transporte Internet Interfaz de Red Modelo de referencia Internet 29 4. FUNCIONALIDADES NIVEL TRANSPORTE Provee un canal lógico de comunicación entre las aplicaciones (concepto de socket) 30 4. CONCEPTO DE PUERTO En TCP/IP las conexiones suelen seguir el paradigma cliente-servidor. Los servidores esperan las peticiones de los clientes, escuchando las peticiones dirigidas a puertos bien conocidos. Los clientes inician conexiones hacia los servidores y tienen un puerto asignado por el S.O. que recibe el nombre de puerto efímero. Tanto TCP como UDP utilizan números de puerto para identificar los procesos de las capas superiores que se están comunicando. 31 4. CONCEPTO DE PUERTO Puertos bien conocidos: Son regulados por la IANA (Internet Assigned Numbers Authority). Ocupan el rango inferior a 1024 y son utilizados para acceder a servicios ofrecidos por servidores. Puertos efímeros: Son asignados de forma dinámica por el S.O. del cliente, dentro de un rango específico por encima de 1023. Identifica el proceso del cliente sólo mientras dura la conexión. 0-255 (IANA) Aplicaciones públicas 255-1023 (IANA) Asignados a compañías con aplicaciones comerciales >1023 No están registrados (efímeros) 32 4. CONCEPTO DE PUERTO 33 4. CONCEPTO DE PUERTO Información puertos asignados http://www.iana.org/assignments/port-numbers En sistemas Windows: Windows/system32/drivers/etc/services En sistemas GNU/Linux se encuentran en: /etc/services 34 4. PROTOCOLO TCP TCP se encarga de dotar de fiabilidad la transmisión de datos sobre Internet. Protocolo más complejo e importante de la pila Internet. Es un protocolo extremo a extremo, orientado a la conexión y bidireccional (full duplex). La unidad de datos TCP es el “segmento“. Proporciona fiabilidad mediante el: Control de errores. Pide retransmisiones Control de flujo. Adapta la velocidad entre el emisor y el receptor. Control de la congestión. Adapta la velocidad del emisor a los routers de la red 35 4. PROTOCOLO TCP En transmisión, TCP fragmenta los datos del nivel aplicación, y les asigna un número de secuencia a cada trozo, antes de enviarlos al nivel IP. En recepción, TCP es el responsable de ensamblar los datagramas recibidos, ya que pueden llegar desordenados al utilizar caminos diversos para alcanzar su destino. En recepción, como los segmentos pueden llegar fuera de orden, TCP debe reordenarlos antes de pasarlos a los niveles superiores. Utiliza multiplexación mediante el uso de puertos, igual que UDP. 36 4. ENCAPSULACIÓN TCP Datagrama IP Segmento TCP IP Header 20 bytes TCP Header Datos TCP 20 bytes 37 4. FORMATO SEGMENTO TCP 1 2 3 4 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source port number | Destination port number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | sequence number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | acknowledgement number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |lenght | reserved |U|A|P|R|S|F| Advertized Window Size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TCP checksum | Urgent pointer | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options (if any) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data (if any) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 38 4. PROTOCOLO UDP Protocolo de transporte no-orientado a la conexión: permite la transmisión de mensajes sin necesidad de establecer ninguna conexión. No garantiza la entrega de los mensajes: no reensambla mensajes entrantes, no utiliza confirmaciones y no proporciona control de flujo UDP es un protocolo mayor rendimiento que TCP, pero también mas inseguro. Si se pierde el datagrama IP o UDP es problema de la aplicación remota incorporar mecanismos de retransmisión y de recuperación de errores. Su unidad de encapsulamiento es el datagrama UDP. 39 4. PROTOCOLO UDP Ideal para comunicaciones en tiempo real que no necesitan seguridad de transmisión. Útil en aplicaciones de audio y video sobre TCP/IP, donde no importe la pérdida de unos pocos paquetes Si un datagrama llega más tarde del instante en que tocaría leerse, entonces se descarta. Esto se traduce en un ruido en el sonido o imagen, que no impide la comunicación. Puertos UDP Aplicaciones Puertos TFTP 69 SNMP 161 DHCP - BOOTP 67/68 DNS 53 40 4. ENCAPSULACIÓN UDP Aplicación 1 Aplicación 2 Puerto 1 Puerto 1 Aplicación N Puerto 1 … Puerto N UDP IP Datagrama IP Datagrama UDP IP Header 20 bytes UDP Header Información Aplicación 8 bytes 41 4. FORMATO SEGMENTO UDP 1 2 3 4 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source port number | Destination port number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UDP length | UDP checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data (if any) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Los mínimos campos posibles: - Puertos UDP - Longitud datagrama UDP - Checksum. Secuencia de comprobación de errores 42 5. ETHERNET HISTORIA Protocolo de nivel de enlace más frecuentemente usado en redes LAN. No pertenece a la torre Internet, pero funciona y ha evolucionado muy bien junto a IP. 1) A mediados de los años 1970, Bob Metcalfe diseñó un protocolo para interconectar los computadores de la empresa Xerox donde trabajaba. Se basó en el protocolo Aloha para su diseño. Le puso el nombre de Ethernet, en referencia a la antigua idea que se tenia de que había una sustancia (el ether) que llenaba el espacio y por donde se propagaban las ondas electromagnéticas. Implementación sobre coaxial a 2,85 Mbps y topología de bus 43 5. ETHERNET HISTORIA 2) En 1980 un consorcio formado por las empresas Digital, Intel y Xerox (DIX) creó la 1º especificación LAN Ethernet. Comercializó las primeras tarjetas Ethernet, bajo el formato de trama Ethernet versión I. 3) En 1982 DIX distribuyó la Ethernet Versión II, versión estándar para TCP/IP. 10 Mbits sobre coaxial fino (Thin Ethernet) Ethernet DIX Versión II Preámbulo SFD Destino 7 1 6 Source Type 6 2 Data 46 < Data < 1500 CRC 4 44 5. ETHERNET HISTORIA 4) 1982-1984: IEEE publica el estándar 802.3 Ethernet. El formato de trama está basado en la DIX, salvo el cambio de nombre del campo tipo por longitud, para hacerla coherente con el estándar 802.2, común a todos los MACs IEEE. Añade el protocolo de acceso al medio CSMA/CD. IEEE 802.3 Preámbulo SFD Destino 7 1 6 Source 6 Length 2 Data and padding 46 < Data < 1500 CRC 4 10BASE5 10 Mbit/s sobre coaxial grueso (thicknet). Alcance = 500 metros 10BASE2 10 Mbit/s sobre coaxial fino (thinnet o cheapernet). Alcance = 185 m 45 5. ETHERNET HISTORIA 5) Más tarde, el IEEE extendió la especificación 802.3 a nuevos comisiones conocidas como: - 802.3u (Fast Ethernet 100Mbits) 100BASE-TX, 100BASE-T4, 100BASE-FX - 802.3z (Gigabit Ethernet transmitido en fibra óptica) - 802.3ab (Gigabit Ethernet en UTP). - 802.3ae (Ethernet a 10 Gbit/s) 10GBASE-SR, 10GBASE-LR - 802.3ak (Ethernet a 10 Gbit/s sobre cable bi-axial) 46 5. FORMATO TRAMA ETHERNET 802.3 Preámbulo: Sirve para sincronizar las tarjetas en la recepción de la trama. SFD (Star Frame Delimiter): Responsable de que las estaciones receptoras sincronicen los relojes, con el mensaje entrante con el fin de que no se produzcan errores al leerlo. Direcciones destino y fuente: Identifican la estación transmisora y receptora. Cada NIC tiene un número de identificación de 6 bytes (48 bits), que es único y está contenido en el hardware de la tarjeta. El organismo de estandarización IEEE subministra bloques de direcciones a las empresas que fabrican las tarjetas para garantizar su unicidad. 00-15-C5 Nº serie fabricante 3A-5E-39 Id. Fabricante 47 5. FORMATO TRAMA ETHERNET 802.3 Tipo (Ethernet DIX): Indica el tipo de protocolo de nivel superior (IP, ARP, etc.), que está ocupando el formato de paquete Ethernet Versión II. Cuando una trama llega a una máquina, se necesita saber su tipo para identificar el módulo de software que se ha de utilizar para procesarla. Valores asignados por el IEEE en el RFC1700 y poseen valores mayores de 0x05DC (1500 decimal). Length (Ethernet IEEE 802.3): Define la longitud del campo de datos. No tiene en cuenta los bytes adicionales. Tiene los valores extremos de (46 ≤ payload ≤ 1500 bytes): Ether Type Protocolo 0800 Datagrama IP 0806 ARP Request/Reply 8035 RARP 8137 Netware IPX 48 5. FORMATO TRAMA ETHERNET 802.3 Payload: Campo de información. Puede tener entre 46 y 1500 bytes. Este campo debe tener un tamaño mínimo para detectar las colisiones. Si el nº de bytes de información es inferior a 46, Ethernet añade bytes adicionales hasta 46. Debe existir un mecanismo que permita descubrir los bytes que se han añadido. Por ejemplo, en el caso de llevar un datagrama IP, esto se puede deducir a partir del campo header length de la cabecera IP. Tamaño trama mínima: 6 + 6 + 2 + 46 +4 = 64 bytes (sin preámbulo) Tamaño trama máxima: 6 + 6 + 2 + 1500 + 4 = 1518 bytes (sin preámbulo) CRC: Sirve para la detección de errores. El remitente realiza un control CRC (“Cyclical Redundancy”) para efectuar un chequeo de integridad. 49 6. COMANDO PING (Packet Internet Groper) • Utiliza el protocolo ICMP, para verificar la conectividad a nivel 3 entre redes. • Es la herramienta de depuración más utilizada • Envía paquetes ICMP Echo Request y espera la respuesta de paquetes ICMP Echo Reply. • Proporciona información añadida sobre la red (retardo en ir y volver, TTL, cantidad de paquetes ICMP perdidos) 50 6. COMANDO ARP (Address Resolution Protocol) Utilidad que sirve para asignar direcciones IP a direcciones físicas (gestiona el protocolo ARP). Arp –a Muestra tabla ARP Dirección IP Dirección Física Tipo Age 10.141.1.1 00-60-97-b8-6d-84 Dinámico 5m 10.141.1.2 00-60-97-54-65-ef Dinámico 5m 10.141.1.3 00-60-97-ed-67-98 Dinámico 5m 51 6. COMANDO IPCONFIG • Configura la dirección del host • Proporciona información sobre la configuración actual: • nombre interficie • Tipo tarjeta • @MAC • @IP 52 6. COMANDO NETSTAT Proporciona información sobre el estado de la red Es útil para conocer las conexiones TCP/IP activas en el momento de ejecutarlo. 53 6. COMANDO NBTSTAT Muestra las estadísticas del protocolo y la conexiones actuales de TCP/IP usando NBT (NETBIOS) 54 6. COMANDO ROUTE Sirve para determinar las rutas que deben seguir los paquetes en la red. Permite ver la tabla de routing del router o computador Destino Máscara Gateway Interfície Métrica 10.49.189.2 255.255.255.0 192.168.1.1 eth0 3 15.149.19.2 255.255.0.0 192.168.1.1 Eth0 3 34.4.149.3 255.0.0.0 192.168.1.2 Eth1 4 0.0.0.0 0.0.0.0 192.168.1.2 eth1 2 55 6. COMANDO TRACERT Permite visualizar el camino que han seguido los paquetes enviados hasta alcanzar su destino. Útil para conocer las rutas existentes, si hay algún router que rechaza nuestros paquetes o en qué saltos se producen mayores retrasos. 56 6. COMANDOS FTP y TFTP Utilidades para la transferencia de ficheros. Permite listar (dir), traer (get) o dejar (put) ficheros Necesita el nombre de la máquina, usuario y contraseña. TFTP es similar a FTP pero más fácil de configurar 57 6. COMANDOS LPR y LPQ LPR Se utiliza para enviar trabajos a las impresoras de red remotas que se especifican como argumentos LPQ Se utiliza para preguntar por el estado de impresoras remotas que utilicen TCP/IP en sus comunicaciones a través del servicio lpq, típico de sistemas UNIX. 58 6. COMANDO TELNET Sirve para realizar conexiones remotas interactivas en forma de terminal virtual. Es necesario el nombre de la máquina a conectarse, junto con un login y un password. 59 OTROS PROTOCOLOS TCP/IP - Gestión de RED e inicio en TCP/IP 60 OTROS PROTOCOLOS TCP/IP - Otros protocolos de nivel de RED: 61 OTROS PROTOCOLOS TCP/IP - Protocolos nivel de APLICACIÓN: 62 OTROS PROTOCOLOS TCP/IP - Protocolos nivel INTERNET: 63 PRÁCTICA 1: www.iptools.com En la siguiente URL http://www.iptools.com/ encontraremos diferentes herramientas de utilidad. 64 PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK Objetivo: Familiarizar al alumno con el uso de un analizador de protocolos como herramienta de análisis. Profundizar en el conocimiento de algunos protocolos de la arquitectura TCP/IP como ARP, IP, ICMP, TCP, HTTP o DNS, y en el manejo y comprensión de algunas utilidades como ping. Requisitos: Conocimientos básicos de TCP/IP, ARP, ICMP y HTTP. Para el desarrollo de la práctica se utilizará el analizador de protocolos Wireshark de libre distribución Resultados: Cada alumno deberá entregar una memoria con los resultados de la práctica respondiendo a las preguntas que se formulan en ella. 65 PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK Paso 1. Descargar el porgrama Wireshark (http://www.wireshark.org/download.html) e instalarlo en la máquina virtual de Windows XP . Durante la instalación del Wireshark, también se instala Winpcap, que es una librería que permite realizar la captura de las tramas Ethernet que “ve” nuestra tarjeta de red, no sólo las destinadas a él sino todas las que circulan dentro de un mismo segmento LAN. Paso 2. Arrancar el analizador de protocolos. Vemos una lista de las interficies que posee el ordenador sobre las cuales se pueden capturar paquetes. Hacemos click en el link “Capture Option” y comprobamos que está activada la opción “Captura paquetes en modo promiscuo” 66 PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK Paso 3. Seleccionamos una interficie que sepamos que está conectada a Internet y hacemos click en el botón “Start”. Se mostrará una pantalla dividida en tres zonas. En cada una de ellas se muestran los paquetes capturados con distinto nivel de detalle: a) En la zona superior se presenta una línea por cada trama capturada con un resumen de sus contenidos: básicamente un número de secuencia, el instante de captura (por defecto, relativo al inicio de la captura), origen y destino, protocolo más alto de los detectados, e información relativa al protocolo concreto (por ejemplo, en caso de ser un paquete ICMP, puede identificar que se trata de una petición de eco). Seleccionando una trama en esta sección superior se muestra información más detallada sobre la misma en las otras dos zonas. 67 PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK b) En la zona central se puede ver los valores de los campos de las distintas cabeceras detectadas en la trama, comenzando por la cabecera del nivel de enlace (por ejemplo, Ethernet), de una manera fácilmente legible, en forma de árbol de información. Éste es un buen sitio para buscar, por ejemplo, qué valor tiene el campo TTL de la cabecera IP de un datagrama determinado. c) Finalmente, en la zona inferior se ofrece el valor de cada octeto de la trama capturada, escrito en notación hexadecimal, lo que permite analizar los contenidos del paquete que no han sido decodificados en las secciones menos detalladas. 68 PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK Paso 4. En ocasiones le será necesario conocer algunos parámetros de red de su propia máquina. Para ello, debe ejecutar la orden “ipconfig /all” en una ventana del “Símbolo del sistema”. Escriba los parámetros de red de la interficie, de la cual se quieren capturar paquetes: • Dirección Ethernet (física): • Dirección IP: • Máscara de subred: • Puerta de enlace predeterminada: • Servidor(es) de DNS predeterminado(s): 69 PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK Paso 5. En este apartado se va a analizar la secuencia de acciones que tiene lugar a consecuencia de la ejecución de la aplicación “ping” (paquete ICMP tipo eco) en una máquina, siendo el objetivo una máquina de la misma red. Siga de manera ordenada los pasos que se detallan a continuación: - Realice un ping a una máquina de la misma red, desde el símbolo de sistema de su máquina. - Ejecute el comando arp –a desde msdos. ¿Qué información ha obtenido? ¿Qué indica esta tabla? 70 PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK Paso 6. Arranque una captura con Wireshark y realice un ping a otra máquina de la red diferente del paso 5. Espere las cuatro respuestas. Detenga la captura. Ejecute desde Símbolo de sistema con la orden arp –a. ¿Ha notado alguna diferencia respecto a la primera vez que introdujo el comando?. ¿Durante cuanto tiempo permanecen estas entradas? (para este paso introduzca cada cinco segundo el comando arp –a hasta que desaparezca la tabla). 71 PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK Paso 7. Vaya a la ventana principal del analizador. De las tramas capturadas debe distinguir aquéllas que se han visto implicadas en todo el proceso (desde la ejecución de la orden “ping” en el PC hasta la recepción de las respuestas de la otra máquina. Dibuje en un diagrama las tramas que han intervenido, en orden. 72 PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK Paso 8. Puede identificar qué información ha decidido introducir su máquina en el campo de datos de las peticiones de eco? ¿Qué información introduce el PC remoto en el campo de datos de las respuestas eco? 73 PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK Paso 9. En este apartado se llevará a cabo la descarga de un archivo relativamente voluminoso desde un navegador web para observar la velocidad de descarga en función del tiempo. Borre la ventana de capturas del apartado anterior. Abra una nueva ventana desde “Capture Options”. Definir un filtro de captura, para sólo capturar el tráfico que coincida con el criterio seleccionado. Nos interesa capturar todo el tráfico TCP que tenga origen o destino (a nivel IP) en nuestra máquina. En la casilla Filter, teclear lo siguiente (sustituyendo la dirección de ejemplo “10.0.0.1” por la de su máquina): ip proto \tcp and ip host 10.0.0.1 74 PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK Paso 10. Arrancar una captura. Descargar con el navegador un archivo de algunos cientos de kilobytes para provocar el establecimiento de una conexión TCP de varios segundos de duración. Como sugerencias, puede probar con: http://www.ietf.org/iesg/1rfc_index.txt http://sunsite.utk.edu/ftp/usr-218-2/iesg/1rfc_index.txt http://public.www.planetmirror.com/pub/ietf/iesg/1rfc_index.txt Cuando se haya terminado de descargar el archivo, paramos la captura (“Stop”). 75 PRACTICA 2. ANALIZADOR PROTOCOLOS WIRESHARK Paso 11. Localizar entre los paquetes mostrados por pantalla uno que pertenezca a la conexión TCP por la que se ha transferido el archivo y que haya viajado desde el servidor a su ordenador. Si ha descargado un archivo de texto, uno de estos paquetes es fácilmente identificable observando cómo en los datos HTTP del paquete se puede leer parte del contenido del archivo (sección inferior de la ventana del analizador, parte derecha). Seleccione este paquete y posteriormente elija “Statistics → TCP Stream Analysis → Throughput Graph” para representar la velocidad a la que ha sido transferido el archivo en cada intervalo. Observe la gráfica que se genera y conteste a las siguientes preguntas. ¿Es constante la velocidad a la que se ha transferido el archivo? ¿puede explicar por qué lo es / no lo es? 76 PRACTICA 3. CABECERAS TCP/IP Disponemos de una red LAN formada por HUBS y SWITCHES Se pide rellenar las cabeceras de los mensajes TCP/IP, dependiendo del tipo de servicio se esté realizando 77 PRACTICA 3. CABECERAS TCP/IP 1.1) PC1 consulta la web alojada en HTTP_SERVER 1.2) HTTP SERVER respuesta a la consulta de PC1 78 PRACTICA 3. CABECERAS TCP/IP 2.1) PC2 abre el cliente de correo y se conecta a SMTP_SERVER 2.2) SMTP_SERVER descarga el correo del usuario en PC2 79 PRACTICA 3. CABECERAS TCP/IP 3.1) PC2 envía un paquete ICMP echo a PRINTER 3.2) PRINTER responde al paquete ICMP echo enviado por PC2 80 PRACTICA 3. CABECERAS TCP/IP 4) Tabla de conmutación del SWITCH MACs destino Puerto 81 PRACTICA 4. CABECERAS TCP/IP Dos redes LANs conectadas a través de una conexión WAN y dos routers. Se pide rellenar las cabeceras de los mensajes TCP/IP, dependiendo del tipo de servicio se esté realizando 82 PRACTICA 4. CABECERAS TCP/IP 1.1) PC1 consulta la web alojada en HTTP_SERVER. Se deben diferenciar 3 tramos. PC1-R1 R1-R2 R2-HTTP_SERVER 83 PRACTICA 4. CABECERAS TCP/IP 1.2) HTTP SERVER responde la consulta de PC1. Se deben diferenciar 3 tramos. HTTP_SERVER-R2 R2-R1 R1-PC1 84 PRACTICA 4. CABECERAS TCP/IP 2.1) PC2 abre el cliente de correo y se conecta a SMTP_SERVER. Se deben diferenciar 3 tramos. PC2-R1 R1-R2 R2-SMTP_SERVER 85 PRACTICA 4. CABECERAS TCP/IP 2.2) SMTP_SERVER descarga el correo del usuario en PC2. Se deben diferenciar 3 tramos. SMTP_SERVER-R2 R2-R1 R1-PC2 86 PRACTICA 4. CABECERAS TCP/IP 3) Tabla de conmutación del SWITCH MACs destino Puerto 87