ACI – 425 SEGURIDAD INFORMÁTICA - PowerPoint PPT Presentation

aci 425 seguridad inform tica n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
ACI – 425 SEGURIDAD INFORMÁTICA PowerPoint Presentation
Download Presentation
ACI – 425 SEGURIDAD INFORMÁTICA

play fullscreen
1 / 127
ACI – 425 SEGURIDAD INFORMÁTICA
215 Views
Download Presentation
easter
Download Presentation

ACI – 425 SEGURIDAD INFORMÁTICA

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. ACI – 425SEGURIDAD INFORMÁTICA Unidad 4: Seguridad en redes y sistemas operativos

  2. Objetivos Específicos Aplicar los conceptos de seguridad informática a redes de computadoras en las organizaciones con vistas a detectar posibles fallos y mejorar la seguridad tanto en la red interna como en la posible red externa.

  3. Contenidos • Conceptos preliminares: Repaso básico de redes. • Traducción de direcciones de red (Network Address Translation – NAT). • Cortafuegos (Firewalls). • Proxys. • Redes privadas virtuales (Virtual Private Networks – VPN). • Control de Acceso. • Seguridad en intranet/extranet. • Capa de conexión segura (Secure Socket Layer - SSL). • Tipos de ataques a redes: • sniffing, • spoffing y • buffer overflow.

  4. Redes de Computadores • Una red de computadoras (red de ordenadores o red informática) es un conjunto de computadoras y/o dispositivos conectados por enlaces de un medio físico (medios guiados) ó inalámbrico (medios no guiados) que comparten información (archivos), recursos (CD-ROM, impresoras, etc.) y servicios (e-mail, mensajería instantánea - chat, juegos), etc. • Según la direccionalidad de los datos y el tipo de la transmisión, las redes se clasifican en: • simplex unidireccionales: Un ETD transmite y otro recibe. • half-duplex bidireccionales: Sólo uno transmite por vez. • full-duplex: Ambos pueden transmitir y recibir información a la vez.

  5. Clasificación en categorías • Por localización: • Área de red local (LAN) • Área de red metropolitana (MAN) • Área de red amplia (WAN) • Área de red personal (PAN) • Por relación funcional: • cliente-servidor • igual-a-igual (“peer to peer” - p2p) • Por estructura: • Red OSI o Modelo OSI • Red TCP/IP • Por Topología de red: • red de bus • red de estrella • red de anillo

  6. Estándares de redes • IEEE 802.3 estándar para Ethernet • IEEE 802.5, estándar para Token Ring • IEEE 802.11, estándar para Wi-Fi • IEEE 802.15, estándar para Bluetooth • Modelo OSI de la ISO • Red tipo TCI/IP

  7. Protocolo de red • Conjunto de reglas que especifican el intercambio de mensajes durante la comunicación entre las entidades que forman parte de una red. • También conocido como Protocolo de Comunicación. • Un protocolo es una convención, o estándar, o acuerdo entre partes que regula la conexión, la comunicación y la transferencia de datos entre dos sistemas. • En su forma más simple, un protocolo se puede definir como las reglas que gobiernan la semántica (significado de lo que se comunica), la sintaxis (forma en que se expresa) y la sincronización (quién y cuándo transmite) de la comunicación. • Los protocolos pueden estar implementados bien en hardware (tarjetas de red), software (drivers), o como una combinación de ambos.

  8. Propiedades Típicas Los protocolos especifican alguna de las siguientes propiedades: • Detección de la conexión física sobre la que se realiza la comunicación (cableada o sin cables) • Pasos necesarios para comenzar a comunicarse (estrechar manos – “Handshaking”) • Negociación de las características de la conexión. • Cómo se inicia y termina un mensaje. • Formato de los mensajes. • Qué hacer con los mensajes erróneos o corrompidos (corrección de errores) • Cómo detectar la pérdida inesperada de la conexión y qué hacer en ese caso. • Terminación de la sesión de conexión. • Estrategias para asegurar la seguridad: autenticación, encriptación.

  9. Estandarización • Los protocolos que son implementados en sistemas de comunicación que tienen un amplio impacto, suelen convertirse en estándares, debido a que la comunicación e intercambio de información (datos) es un factor fundamental en numerosos sistemas, y para asegurar tal comunicación se vuelve necesario copiar el diseño y funcionamiento a partir del ejemplo preexistente. Esto ocurre tanto de manera informal como deliberada. • Existen consorcios empresariales, que tienen como propósito precisamente el de proponer recomendaciones de estándares que se deben respetar para asegurar la interoperabilidad de los productos: • la IEEE que propone varios estándares para redes físicas, y • la W3C (World Wide Web Consortium) que gestiona la definición aceptada sobre HTTP

  10. Niveles de abstracción Tecnologías y protocolos de red* • En el campo de las redes informáticas, los protocolos se pueden dividir en varias categorías. • Una de las clasificaciones más estudiadas es el modelo de referencia de Interconexión de Sistemas Abiertos (Open System Interconection – OSI). • Según OSI, puede estudiarse la comunicación de varios ETD dividiéndola en siete niveles, desde su nivel más alto hasta el más bajo. • A su vez, los 7 niveles pueden subdividirse en dos categorías: capas superiores y capas inferiores. Las 4 capas superiores trabajan con problemas particulares a las aplicaciones, mientras que las 3 capas inferiores se encargan del transporte de los datos.

  11. Dirección MAC • La dirección MAC (Media Access Control address) es un identificador hexadecimal de 48 bits que se corresponde de forma única con una tarjeta o interfaz de red. • Es individual: cada dispositivo tiene su propia dirección MAC determinada y configurada por el IEEE (los primeros 24 bits) y por el fabricante (los 24 bits restantes). • La mayoría de los protocolos que trabajan en la capa 2 usan una de las tres numeraciones manejadas por el IEEE: MAC-48, EUI-48, y EUI-64, las cuales han sido diseñadas para ser identificadores globalmente únicos. • No todos los protocolos de comunicación usan direcciones MAC, y no todos los protocolos requieren identificadores globalmente únicos. • La dirección MAC es utilizada en varias tecnologías: • Ethernet • 802.3 • 802.5 o redes en anillo a 4 Mbps o 16 Mbps Token Ring • 802.11 redes inalámbricas (WIFI). • ATM

  12. Funciones de la subcapa MAC • MAC opera en la capa 2 del modelo OSI, encargada de hacer fluir la información libre de errores entre dos máquinas conectadas directamente. • Para ello se generan tramas: pequeños bloques de información que contienen en su cabecera las direcciones MAC correspondiente al emisor y receptor de la información. • Algunas de las funciones de la subcapa MAC incluyen: • Agregar la dirección MAC del nodo fuente y del nodo destino en cada una de las tramas que se transmiten. • Al transmitir en origen, debe delimitar las tramas agregando bits de bandera (flags) para que el receptor pueda reconocer el inicio y el fin de cada trama. • Al recibir en el destino, debe determinar el inicio y el final de una trama de datos dentro de una cadena de bits recibidos por la capa física. • Efectuar detección (y corrección si procede) de errores de transmisión. • Descartar tramas duplicadas o erróneas. • Controlar el acceso al medio físico de transmisión por parte de los dispositivos que comparten el mismo canal de comunicación.

  13. Familia de protocolos de Internet • Conjunto de protocolos de red que implementa la pila de protocolos en la que se basa Internet y que permiten la transmisión de datos entre redes de computadoras. • En ocasiones se la denomina conjunto de protocolos TCP/IP, en referencia a los dos protocolos más importantes que la componen: • Protocolo de Control de Transmisión (TCP) y • Protocolo de Internet (IP), • que fueron los dos primeros en definirse, y que son los más utilizados de la familia.

  14. Algunos protocolos de la Familia Existen muchos protocolos en este conjunto, entre los que se encuentran: • HTTP (HyperText Transfer Protocol), que es el que se utiliza para acceder a las páginas Web, • ARP (Address Resolution Protocol) para la resolución de direcciones, • FTP (File Transfer Protocol) para transferencia de archivos, • SMTP (Simple Mail Transfer Protocol) y • POP (Post Office Protocol) para correo electrónico, • TELNET para acceder a equipos remotos, • RPC (Remote Procedure Call), permite llamadas a procedimientos situados remotamente. Se utilizan las llamadas a RPC como si fuesen procedimientos locales. • SNMP (Simple Network Management Protocol) es una aplicación para el control de la red. • NFS (Network File System) permite utilizar archivos distribuidos por los programas de la red. • X-Windows: Protocolo para el manejo de ventanas e interfaces de usuario. • etc.

  15. TCP/IP • Es la base de Internet. • Sirve para enlazar computadoras que utilizan diferentes sistemas operativos, incluyendo PCs, minicomputadoras y computadoras centrales sobre redes de área local (LAN) y de área extensa (WAN). • Fue desarrollado y demostrado por primera vez en 1972 por el departamento de defensa de los Estados Unidos, ejecutándolo en ARPANET, una red de área extensa del departamento de defensa.

  16. Clasificación apropiada para TCP/IP Una clasificación utilizada, simple y algo más práctica para TCP/IP que OSI, es: 5.Aplicación: Ej. HTTP, FTP, DNS 4.Transporte: Ej. TCP, UDP, RTP, SCTP 3.Interred: Para TCP/IP este es el Protocolo de Internet (IP) 2.Enlace: Ej. Ethernet, Token Ring, etc. • Físico: Ej. medio físico, y técnicas de codificación, T1, E1 • Normalmente, los tres niveles superiores del modelo OSI: Aplicación, Presentación y Sesión, son considerados simplemente como el nivel de aplicación en el conjunto TCP/IP. • Como TCP/IP no tiene un nivel de sesión unificado sobre el que los niveles superiores se sostengan, estas funciones son típicamente desempeñadas (o ignoradas) por las aplicaciones de usuario. • La diferencia más notable entre los modelos de TCP/IP y OSI es el nivel de Aplicación. En TCP/IP se integran algunos niveles del modelo OSI en su nivel de Aplicación.

  17. Ejemplo de TCP/IP

  18. 1. El nivel Físico • Se encarga de las conexiones físicas de la computadora hacia la red. • Describe las características físicas de la comunicación, como las convenciones sobre la naturaleza del medio utilizado para la comunicación: cable, fibra óptica o radio; y todo lo relativo a los detalles como los conectores, código de canales y modulación, potencias de señal, longitudes de onda, sincronización y temporización y distancias máximas. • Define las características eléctricas, mecánicas y procedimentales de la comunicación en red. Es estrictamente necesaria su presencia en cualquier modelo. • Se especifican los estándares de cable de par trenzado, coaxial o de fibra óptica que se deben usar para conectar una red, la topología de la misma, niveles de tensión para 0 y 1, forma de modulación de la señal y otras características eléctricas, así como la forma en que las antenas de microondas deben estar orientadas para comunicarse, y las características de propagación de ondas radiales en el caso de conexiones inalámbricas. • También tiene atribuidos aspectos como la codificación de línea, el establecimiento de la velocidad de transmisión y la técnica usada para la misma. Por debajo de este nivel sólo está el cableado o medio de transporte de la señal. • La familia de protocolos de Internet no cubre el nivel físico de ninguna red.

  19. 2. El nivel de Enlace de datos • El nivel de enlace de datos especifica como son transportados los paquetes sobre el nivel físico, incluidos los delimitadores (patrones de bits concretos que marcan el comienzo y el fin de cada trama). • Ejemplos de protocolos de nivel de red de datos son Ethernet, Wireless Ethernet, SLIP, Token Ring y ATM. • Ethernet, por ejemplo, incluye campos en la cabecera de la trama que especifican que máquina o máquinas de la red son las destinatarias de la trama. • El protocolo punto a punto PPP es un poco más complejo y originalmente fue diseñado como un protocolo separado que funcionaba sobre otro nivel de enlace: HDLC/SDLC. • Este nivel es a veces subdividido en Control de enlace lógico (Logical Link Control) y Control de acceso al medio (Media Access Control).

  20. 3. El nivel de Interred • Soluciona el problema de conseguir transportar paquetes a través de una red sencilla. Ejemplos: X.25 y Host/IMP Protocol de ARPANET. • Con la llegada del concepto de Interred, fueron añadidas a este nivel nuevas funcionalidades basadas en el intercambio de datos entre una red origen y una red destino. Generalmente esto incluye un enrutamiento de paquetes a través de una red de redes, conocida como Internet. • En la familia de protocolos de Internet, IP realiza las tareas básicas para conseguir transportar datos desde un origen a un destino. IP puede pasar los datos a una serie de protocolos superiores. Cada uno estos protocolos se identifica con un "Número de protocolo IP” único . ICMP y IGMP son los protocolos 1 y 2, respectivamente. • Algunos de los protocolos por encima de IP como Internet Control Message ProtocolICMP (usado para transmitir información de diagnóstico sobre transmisiones IP) e Internet Group Management ProtocolIGMP (usado para dirigir tráfico multicast) van en niveles superiores a IP pero realizan funciones del nivel de red e ilustran una incompatibilidad entre los modelos de Internet y OSI. • Todos los protocolos de enrutamiento, como Border Gateway ProtocolBGP, Open Shortest Path FirstOSPF, y Routing Information ProtocolRIP son realmente también parte del nivel de red, aunque ellos parecen pertenecer a niveles más altos en la pila.

  21. 4. El nivel de Transporte • Los protocolos del nivel de transporte pueden solucionar problemas como la fiabilidad ("¿alcanzan los datos su destino?") y la seguridad de que los datos llegan en el orden correcto. • En el conjunto de protocolos TCP/IP, los protocolos de transporte también determinan a que aplicación van destinados los datos. • Los protocolos de enrutamiento dinámico, que técnicamente encajan en el conjunto de protocolos TCP/IP ya que funcionan sobre IP, son generalmente considerados parte del nivel de red; un ejemplo es Open Shortest Path First - OSPF (protocolo IP número 89).

  22. Protocolos del nivel de transporte: TCP • El Protocolo de Control de Transmisión (Transmission Control Protocol – TCP; protocolo IP número 6) es un mecanismo de transporte confiable y orientado a conexión, que proporciona un flujo fiable de bytes, que asegura que los datos llegan completos, sin daños y en orden. • TCP realiza continuamente medidas sobre el estado de la red para evitar sobrecargarla con demasiado tráfico. • Además, trata de enviar todos los datos correctamente en la secuencia especificada: El protocolo garantiza que los datos serán entregados en su destino sin errores y en el mismo orden en que se transmitieron. • Esta es una de las principales diferencias con UDP, y puede convertirse en una desventaja en flujos en tiempo real (muy sensibles a la variación del retardo) o en aplicaciones de enrutamiento con porcentajes altos de pérdida en el nivel de interred. • TCP proporciona un mecanismo para distinguir distintas aplicaciones dentro de una misma máquina a través del concepto de puerto, por lo que soporta muchas de las aplicaciones más populares de Internet: HTTP, SMTP y SSH.

  23. Protocolos del nivel de transporte: SCTP • Protocolo más reciente para control de transmisiones de flujos (Stream Control Transmission Protocol - SCTP) • Es un mecanismo fiable y orientado a conexión que brinda confiabilidad, control de flujo y secuenciación. • Está relacionado con la orientación a byte. • Proporciona múltiples sub-flujos multiplexados sobre la misma conexión. • También proporciona soporte de multihoming, donde una conexión puede ser representada por múltiples direcciones IP representando múltiples interfaces físicas. Así, si una falla, la conexión no se interrumpe. • Fue desarrollado inicialmente para aplicaciones telefónicas: transporte mediante Sistema de señalización por canal común nº 7SS7 sobre IP, pero también es usado para otras aplicaciones. • Está implementado en los sistemas operativos Linux, Solaris, BSD y QNX.

  24. Protocolos del nivel de transporte: UDP • UDP (protocolo IP número 17) es un protocolo de datagramas sin conexión. • Es un protocolo no fiable (best effort al igual que IP), porque no verifica que los paquetes lleguen a su destino y no da garantías de que lleguen en orden. • Si una aplicación requiere estas características, debe llevarlas a cabo por sí misma o usar TCP. • UDP es usado normalmente para: • aplicaciones de streaming: audio, video, etc.; donde la llegada a tiempo de los paquetes es más importante que la fiabilidad, o • para aplicaciones simples de tipo petición/respuesta como el servicio del sistema de nombres de dominio (Domain Name System – DNS), donde la sobrecarga de las cabeceras que aportan la fiabilidad es desproporcionada para el tamaño de los paquetes.

  25. Otros protocolos del nivel de transporte • El Datagram Congestion Control ProtocolDCCP está actualmente bajo desarrollo por el IETF. Proporciona semántica de control para flujos TCP, mientras de cara al usuario se da un servicio de datagramas UDP. • El Real-time Transport ProtocolRTP es un protocolo de datagramas que se monta sobre UDP diseñado para datos en tiempo real como el streaming de audio y video. • TCP y UDP son usados para dar servicio a una serie de aplicaciones de alto nivel. Las aplicaciones con una dirección de red dada son distinguibles entre sí por su número de puerto TCP o UDP. Por convención, los puertos bien conocidos (well-known ports) son asociados con aplicaciones específicas.

  26. 5. El nivel de Aplicación • El nivel de aplicación es el nivel que los programas más comunes utilizan para comunicarse a través de una red con otros programas. • Los procesos que acontecen en este nivel son aplicaciones específicas que pasan los datos al nivel de aplicación en el formato que internamente use el programa y es codificado de acuerdo con un protocolo estándar. • Algunos programas específicos se considera que se ejecutan en este nivel. • Estos programas y sus correspondientes protocolos incluyen a: • HTTP (HyperText Transfer Protocol), • FTP (Transferencia de archivos), • SMTP (correo electrónico), • SSH (login remoto seguro), • DNS (Resolución de nombres de dominio) y • a muchos otros. • Proporcionan servicios que directamente trabajan con las aplicaciones de usuario.

  27. 5. El nivel de Aplicación (2) • Una vez que los datos de la aplicación han sido codificados en un protocolo estándar del nivel de aplicación son pasados hacia abajo al siguiente nivel de la pila de protocolos TCP/IP. • En el nivel de transporte, las aplicaciones normalmente hacen uso de TCP y UDP, y son habitualmente asociados a un número de puerto bien conocido (well-known port). • Los puertos fueron asignados originalmente por la Agencia de Asignación de Números de Internet (Internet Assigned Numbers Authority – IANA : actualmente es ICANN:Internet Corporation for Assigned Names and Numbers) o Corporación de Internet para la Asignación de Nombres y Números.

  28. Ventajas e inconvenientes de TCP/IP • El conjunto TCP/IP está diseñado para enrutar y tiene un grado muy elevado de fiabilidad, es adecuado para redes grandes y medianas, así como en redes empresariales. • Se utiliza a nivel mundial para conectarse a Internet y a los servidores Web. • Es compatible con las herramientas estándar para analizar el funcionamiento de la red. • Un inconveniente de TCP/IP es que es más difícil de configurar y de mantener que otros mecanismos tales como la Interfaz extendida de usuario de Netbios NetBEUI o el Intercambio de paquetes interred / Intercambio de paquetes secuenciales IPX/SPX. • Además, es algo más lento en redes con un volumen de tráfico medio bajo. • Sin embargo, puede ser más rápido en redes con un volumen de tráfico grande donde haya que enrutar un gran número de tramas.

  29. Empleo de TCP/IP • El conjunto TCP/IP se utiliza tanto en redes empresariales como por ejemplo en campos universitarios o en complejos empresariales, en donde utilizan muchos enrutadores y conexiones a mainframe o a ordenadores UNIX, como así también en redes pequeñas o domésticas, y hasta en teléfonos móviles y en domótica. • Normalmente el protocolo TCP es usado por el sistema operativo, mientras que la tarjeta de red (hardware) se encarga del protocolo Ethernet o similares.

  30. Problemas posibles • Las versiones de TCP evolucionan constantemente, por lo que se deduce que existen muchos fallos corregidos y por corregir. • La Internet Society publicó en 1999, en el RFC 2525, una lista de problemas detectados en las implementaciones TCP del momento clasificados en control de congestión, rendimiento, fiabilidad, y control de recursos. • El objetivo era que los servidores perdieran menos tiempo procesando tanto conexiones erróneas como datos transferidos, para así asegurar la estabilidad de Internet. • Otra clasificación posible es en: • problemas de seguridad: los que permiten a un atacante hacer algo que no estaba previsto; • problemas de rendimiento: lentitud cuando hay congestión de red o en otros casos especiales; • problemas de interoperabilidad: los provocados entre versiones que no cumplen igual de bien el estándar. • Naturalmente, estas clasificaciones no son exclusivas, ya que, por ejemplo, un problema de interoperabilidad puede provocar un mal rendimiento, y esto además puede considerarse un problema de seguridad.

  31. Problemas de seguridad • La mayoría de implementaciones de TCP han tenido errores que permiten atacar a un sistema mediante un ataque de denegación de servicio (Denial of Service Attack - DoS). • Otros fallos pueden también facilitar el IP spoofing: alguien que se mete dentro de otra conexión. • Si se habla de la familia completa TCP/IP, las vulnerabilidades pueden ser muchas. • Como TCP no fue diseñado para ser seguro ya que los datos viajan sin cifrar, se puede falsear la identidad, etc.; hay varios intentos para corregirlo: TCP para transacciones y Secure TCP.

  32. Problemas de rendimiento • Este tipo de problemas es el más común, ya que casi siempre es posible mejorar el rendimiento de los algoritmos. • Con cada nueva versión de una implementación de TCP se suelen incluir correcciones de este tipo, así que basta con mirar el historial de cambios para tener ejemplos. • Los “Request for Comments”(RFC) también informan sobre problemas de rendimiento encontrados en TCP y otros protocolos, además de ideas para solucionarlos. • Lo que se intenta conseguir es más velocidad de transferencia de datos incluso en condiciones de congestión de red. • Para ello, se puede intentar reducir el número de conexiones perdidas, o el tiempo de CPU usado para procesar cada conexión correcta, entre otras cosas. • Hay muchos estudios técnicos relacionados con este tema, además de comparativas de rendimiento entre distintas implementaciones.

  33. Problemas de interoperabilidad • No todos los implementadores cumplen completamente el estándar: los RFC. En las secciones donde éste es poco preciso, es habitual que lo implementen de formas distintas. • Esto crea muchos comportamientos distintos en Internet, y algunos de ellos pueden causar problemas menores como por ejemplo, tener que repetir una conexión. • El RFC 1122 explica los requisitos que ha de cumplir una implementación TCP, a nivel de la capa de comunicación. • Le complementan el RFC 1123, que dice cómo han de comportarse las aplicaciones, y el RFC 1127, que habla de las técnicas que debe permitir el sistema operativo para que pueda funcionar bien en Internet.

  34. Verificación • Como una mala implementación de TCP puede causar congestiones, se dedica mucho esfuerzo a estudiar los problemas de las implementaciones existentes. • Algunos de los parámetros que se evalúan son: • Corrección funcional: cómo de estrictamente cumple con el estándar TCP • Rendimiento: cómo de rápido permite enviar datos • Comportamiento en caso de estrés: qué es lo que pasa cuando hay mucha carga • El Grupo de Trabajo en Ingeniería de Internet (Internet Engineering Task Force – IETF) explica en el RFC 2398 algunas herramientas que se pueden usar para comprobar una implementación de TCP.

  35. Pruebas • Uno de los métodos disponibles para pruebas es tratar a la implementación de TCP como una caja negra y estudiarla desde fuera, de forma activa: primero se ejecuta un procedimiento que cambia el estado de la red y entonces se mira cómo reacciona. A partir de esta información, se pueden deducir bastantes cosas, como errores de implementación, violaciones del protocolo, y decisiones de diseño de los implementadores. • Otra forma de verificar una implementación de TCP es analizar trazas de paquetes, o sea, capturas del tráfico que se genera al hacer una conexión. Esto permite estudiar una implementación de la que no se tiene el código fuente disponible, pero se necesitan muchas capturas para poder tener una muestra representativa de todas las situaciones posibles.

  36. Identificación de SO según pila TCP/IP • Debido a la evolución de TCP, actualmente hay muchas versiones distintas; unas escritas desde cero, y otras basadas en implementaciones anteriores, pero con algunos cambios. • Estas variaciones entre versiones hacen que una se comporte de una forma algo distinta, lo que permite poder intuir qué versión está usando un ordenador a partir del comportamiento TCP que muestra. Incluso es posible hacer identificación remota del sistema operativo (fingerprinting). • Programas como el escáner de puertos nmap tienen una base de datos con la huella de cada sistema, y pueden hacer la identificación automáticamente de forma activa. Hay mucha documentación sobre este tema escrita por el autor de nmap.

  37. Características de IP • Dentro de un sistema TCP/IP los datos transmitidos se dividen en pequeños paquetes. • La tarea del protocolo de Internet IP es llevar los datos a granel (los paquetes) de un sitio a otro. • Las computadoras que encuentran las vías para llevar los datos de una red a otra (denominadas enrutadores - routers) utilizan IP para trasladar los datos. • En resumen IP mueve los paquetes de datos a granel, mientras TCP se encarga del flujo y asegura que los datos estén correctos. • Las líneas de comunicación se pueden compartir entre varios usuarios. • Cualquier tipo de paquete puede transmitirse al mismo tiempo, y se ordenará y combinará cuando llegue a su destino. • Compare esto con la manera en que se transmite una conversación telefónica: Una vez que establece una conexión, se reservan algunos circuitos para usted, que no puede emplear en otra llamada, aun si deja esperando a su interlocutor por veinte minutos.

  38. Características (2) • Los datos no tienen que enviarse directamente entre dos computadoras. • Cada paquete pasa de computadora en computadora hasta llegar a su destino. • Éste es el secreto de cómo se pueden enviar datos y mensajes entre dos computadoras aunque no estén conectadas directamente entre sí. • Lo que sorprende es que sólo se necesitan algunos segundos para enviar un archivo de buen tamaño de una máquina a otra, aunque estén separadas por miles de kilómetros y pese a que los datos tienen que pasar por múltiples computadoras. • Una de las razones de la rapidez es que, cuando algo anda mal, sólo es necesario volver a transmitir un paquete, no todo el mensaje. • IP es un protocolo sin conexión, a diferencia del protocolo X.25, que está orientado a conexión.

  39. Características (3) • Los paquetes no necesitan seguir la misma trayectoria. • La red puede llevar cada paquete de un lugar a otro y usar la conexión más idónea que esté disponible en ese instante. • No todos los paquetes de los mensajes tienen que viajar, necesariamente, por la misma ruta, ni necesariamente tienen que llegar todos al mismo tiempo. • La flexibilidad del sistema lo hace muy confiable. • Si un enlace se pierde, el sistema usa otro. • Cuando usted envía un mensaje, el TCP divide los datos en paquetes, ordena éstos en secuencia, agrega cierta información para control de errores y después los lanza hacia fuera, y los distribuye. • En el otro extremo, el TCP recibe los paquetes, verifica si hay errores y los vuelve a combinar para convertirlos en los datos originales. • De haber error en algún punto, el programa TCP destino envía un mensaje solicitando que se vuelvan a enviar determinados paquetes.

  40. Datagrama IP • Su formato está descrito en el RFC 791. • Consta de una parte de cabecera y una parte de texto. • La cabecera tiene una parte fija de 20 octetos y una parte opcional de longitud variable.

  41. Dirección IP • El protocolo IP identifica a cada ordenador que se encuentre conectado a la red mediante su correspondiente dirección: un número de 32 bits (en IPv4) que debe ser único para cada host, y normalmente suele representarse como cuatro cifras de 8 bits separadas por puntos. • La dirección de Internet (IP Address) se utiliza para identificar tanto al ordenador en concreto como la red a la que pertenece, de manera que sea posible distinguir a los ordenadores que se encuentran conectados a una misma red. • Con este propósito, y teniendo en cuenta que en Internet se encuentran conectadas redes de tamaños muy diversos, se establecieron varias clases de direcciones diferentes.

  42. Direcciones IP clase A • Son las que en su primer byte tienen un valor comprendido entre 1 y 126, incluyendo ambos valores. • Estas direcciones utilizan únicamente este primer byte para identificar la red, quedando los otros tres bytes disponibles para cada uno de los hosts que pertenezcan a esta misma red. • Esto significa que podrán existir más de dieciséis millones de ordenadores en cada una de las redes de esta clase. • Este tipo de direcciones es usado por redes muy extensas, pero hay que tener en cuenta que sólo puede haber 126 redes de este tamaño. ARPAnet es una de ellas, existiendo además algunas grandes redes comerciales, aunque existen pocas organizaciones que obtienen una dirección de "clase A".

  43. Direcciones IP clase B • Estas direcciones utilizan en su primer byte un valor comprendido entre 128 y 191, incluyendo ambos. • En este caso el identificador de la red se obtiene de los dos primeros bytes de la dirección, teniendo que ser un valor entre 128.1 y 191.254 (no es posible utilizar los valores 0 y 255 por tener un significado especial). • Los dos últimos bytes de la dirección constituyen el identificador del host permitiendo, por consiguiente, un número máximo de 64516 ordenadores en la misma red. • Este tipo de direcciones tendría que ser suficiente para la gran mayoría de las organizaciones grandes. • Lo normal para las grandes organizaciones es que utilicen una o varias redes de "clase B". • En caso de que el número de ordenadores que se necesita conectar fuese mayor, sería posible obtener más de una dirección de "clase B", evitando de esta forma el uso de una de "clase A".

  44. Direcciones IP clase C • En este caso el valor del primer byte tendrá que estar comprendido entre 192 y 223, incluyendo ambos valores. • Este tercer tipo de direcciones utiliza los tres primeros bytes para el número de la red, con un rango desde 192.1.1 hasta 223.254.254. • De esta manera queda libre un byte para el host, lo que permite que se conecten un máximo de 254 ordenadores en cada red. • Estas direcciones permiten un menor número de host que las anteriores, aunque son las más numerosas pudiendo existir un gran número redes (más de dos millones) de este tipo.

  45. Notas sobre el espacio de direcciones IPv4 • En la anterior clasificación de direcciones se puede notar que algunos números se encuentran reservados para un posible uso futuro, como es el caso de las direcciones cuyo primer byte sea superior a 223 (clases D y E), mientras que el valor 127 en el primer byte se utiliza en algunos sistemas para propósitos especiales. • También es importante notar que los valores 0 y 255 en cualquier byte de la dirección no pueden usarse normalmente por tener otros propósitos específicos: • El número 0 está reservado para las máquinas que no conocen su dirección, pudiendo utilizarse tanto en la identificación de red para máquinas que aún no conocen el número de red a la que se encuentran conectadas, en la identificación de host para máquinas que aún no conocen su número de host dentro de la red, o en ambos casos. • El número 255 tiene también un significado especial, puesto que se reserva para el broadcast.

  46. IPv4: Broadcasting • El broadcast es necesario cuando se pretende hacer que un mensaje sea visible para todos los sistemas conectados a la misma red. • Esto puede ser útil si se necesita enviar el mismo datagrama a un número determinado de sistemas, resultando más eficiente que enviar la misma información solicitada de manera individual a cada uno. • Otra situación para el uso de broadcast es cuando se quiere convertir el nombre por dominio de un ordenador a su correspondiente número IP y no se conoce la dirección del servidor de nombres de dominio más cercano. • Lo usual es que cuando se quiere hacer uso del broadcast se utilice una dirección compuesta por el identificador normal de la red y por el número 255 (todo unos en binario) en cada byte que identifique al host. • Sin embargo, por conveniencia también se permite el uso del número 255.255.255.255 con la misma finalidad, de forma que resulte más simple referirse a todos los sistemas de la red. • El broadcast es una característica que se encuentra implementada de formas diferentes dependiendo del medio utilizado, y por lo tanto, no siempre se encuentra disponible. En ARPAnet y en las líneas punto a punto no es posible enviar broadcast, pero sí es posible hacerlo en las redes Ethernet, donde se supone que todos los ordenadores prestarán atención a este tipo de mensajes.

  47. Subnets • En el caso de algunas organizaciones extensas puede surgir la necesidad de dividir la red en otras redes más pequeñas (subnets). • Como ejemplo podemos suponer una red de clase B que, naturalmente, tiene asignado como identificador de red un número de dos bytes. • En este caso sería posible utilizar el tercer byte para indicar en qué red Ethernet se encuentra un host en concreto. • Esta división no tendrá ningún significado para cualquier otro ordenador que esté conectado a una red perteneciente a otra organización, puesto que el tercer byte no será comprobado ni tratado de forma especial. • Sin embargo, en el interior de esta red existirá una división y será necesario disponer de un software de red especialmente diseñado para ello. • De esta forma queda oculta la organización interior de la red, siendo mucho más cómodo el acceso que si se tratara de varias direcciones de clase C independientes.

  48. IPv6 • Versión 6 del Protocolo de Internet (Internet Protocol): un estándar del nivel de red encargado de dirigir y encaminar los paquetes a través de una red. • IPv6 está destinado a sustituir al estándar IPv4, cuyo límite en el número de direcciones de red admisibles está empezando a restringir el crecimiento de Internet y su uso, especialmente en China, India, y otros países asiáticos densamente poblados. • El nuevo estándar mejorará el servicio globalmente; por ejemplo, proporcionando a futuras celdas telefónicas y dispositivos móviles con sus direcciones propias y permanentes. • Al día de hoy se calcula que las dos terceras partes de las direcciones que ofrece IPv4 ya están asignadas. • IPv4 soporta 232= 4.294.967.296 direcciones de red diferentes, un número inadecuado para dar una dirección a cada persona del planeta, y mucho menos para cada auto, teléfono, PDA o tostadora. • IPv6 soporta 2128 = 340.282.366.920.938.463.463.374.607.431.768.211.456 direcciones -> cerca de 6.7 x 1017 ó 670 mil billones direcciones/mm² de la superficie de La Tierra.

  49. IPv6 (continuación) • Adoptado por el Internet Engineering Task Force en 1994, cuando era llamado "IP Next Generation" o IPng, IPv6 cuenta con un pequeño porcentaje de las direcciones públicas de Internet, que todavía están dominadas por IPv4. • La adopción de IPv6 ha sido frenada por la traducción de direcciones de red (NAT), que alivia parcialmente el problema de la falta de direcciones IP. Pero NAT hace difícil o imposible el uso de algunas aplicaciones P2P, como son la voz sobre IP (VoIP) y juegos multiusuario. Además, NAT rompe con la idea originaria de Internet donde todos pueden conectarse con todos. • Actualmente, el gran catalizador de IPv6 es la capacidad de ofrecer nuevos servicios, como la movilidad, Calidad de Servicio (QoS), privacidad, etc. • El gobierno de los Estados Unidos ha ordenado el despliegue de IPv6 por todas sus agencias federales para el año 2008. • Se espera que IPv4 se siga soportando hasta por lo menos el 2025, dado que hay muchos dispositivos heredados que no se migrarán a IPv6 nunca y que seguirán siendo utilizados por mucho tiempo. • IPv6 es la segunda versión del Protocolo de Internet que se ha adoptado para uso general. También hubo un IPv5, pero no fue un sucesor de IPv4; pues fue un protocolo experimental orientado al flujo de streaming que intentaba soportar voz, video y audio.

  50. Direccionamiento IPv6 • El cambio más drástico de IPv4 a IPv6 es la longitud de las direcciones de red: • Las direcciones IPv6, definidas en el RFC 2373 y RFC 2374, son de 128 bits; esto corresponde a 32 dígitos hexadecimales, que se utilizan normalmente para escribir las direcciones IPv6. • Como sabemos, el número de direcciones IPv6 posibles es de 2128 ≈ 3.4 x 1038. • Este número puede también representarse como 1632, con 32 dígitos hexadecimales, cada uno de los cuales puede tomar 16 valores. • En muchas ocasiones las direcciones IPv6 están compuestas por dos partes lógicas: un prefijo de 64 bits y otra parte de 64 bits que corresponde al identificador de interfaz, que casi siempre se genera automáticamente a partir de la dirección MAC de la interfaz a la que está asignada la dirección. • Por ejemplo, 2001:0db8:85a3:08d3:1319:8a2e:0370:7334 es una dirección IPv6 válida.