IPv4 Un vistazo Contenido Introducción, algunos conceptos de redes de computadores Internet...
-
Upload
eutimio-cuaresma -
Category
Documents
-
view
20 -
download
0
Transcript of IPv4 Un vistazo Contenido Introducción, algunos conceptos de redes de computadores Internet...
IPv4
Un vistazo
Contenido
• Introducción, algunos conceptos de redes de computadores
• Internet Protocol, modelo de servicios
• IPv4
Introducción
Algunos conceptos de redes de computadores
“Piezas” que componen una red
• NODOS, ENLACES y PROTOCOLOS.
• NODOS: dispositivos de cómputo interconectados.– Nodos que ejecutan aplicaciones de red (correo, web, etc.). Por ejemplo
PCs, estaciones de trabajo, servidores, PDAs. (hosts o end-systems)
– Nodos que reenvían paquetes de datos hasta que lleguen al “end-system” (routers o intermedia-systems).
• ENLACES DE COMUNICACIÓN: permiten la interconexión de los nodos– Por ejemplo cables de fibra óptica, cables de cobre y enlaces inalámbricos
(micro-ondas, satelitales, infrarojos)
• PROTOCOLOS: Controlan el envío y recepción de mensajes entre nodos– Por ejemplo TCP, IP, HTTP, FTP, PPP y SNMP.
Protocolos en Internet• Para que los computadores puedan comunicarse necesitan
establecerse reglas ó protocolos (AppleTalk, IPX/SPX, SNA, TCP/IP, etc.)
– Protocolos: reglas formales de comportamiento– Los protocolos definen (1) el formato de los mensajes, (2) el orden de
transmitisión de los mensajes y (3) las acciones que deben realizarse al transmitir o recibir mensajes por parte de los nodos
• Para Internet se utilizan los protocolos de TCP/IP – No dependen del sistema operativo (windows, unix, mac/OS) ni del fabricante
computador. Se dice que TCP/IP es “abierto”.– Los protocolos para Internet se especifican mediante documentos denominados
RFC: Request for comments, que son emitidos por la IETF: Internet Engineering Task Force. Los RFCs son públicos y cualquier persona puede accederlos en Internet.
• Borde de la red– Allí están los hosts (end systems):
• Ejecutan programas de aplicaciones en el “borde” de la red. Ejemplo: Web, e-mail.
• Centro de la red– Es una malla de routers
(intermedia systems) interconectados
• Reenvían paquetes buscando llegar hasta los hosts (end systems)
Borde y centro de la red
• Difusamente jerárquica
• En el centro: ISPs de “capa 1” (UUNet, BBN/Genuity, Sprint, AT&T), cubrimiento nacional/internacional– Se tratan como iguales
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
Los proveedores de capa 1 se interconectan con sus iguales de manera privada
NAP
Los proveedores de capa 1 también se interconectan en Puntos de Acceso de Red (NAPs) públicos
Estructura de Internet: red de redes
• ISPs “Capa 2”: ISPs más pequeños (a menudo regionales)– Conectan a uno o más ISPs capa 1, posiblemente a otros ISPs capa 2
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
NAP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
Un ISP capa 2 paga al ISP capa 1 para conectarse a Internet El ISP capa 2 es cliente del ISP capa 1
ISP capa 2 también se asocia de manera privada con sus iguales, se interconectan en un NAP
Estructura de Internet: red de redes
• ISPs de “Capa 3” e ISPs locales – Último salto en la red (“de acceso”) (más cerca a los end systems)
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
NAP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
localISPlocal
ISPlocalISP
localISP
localISP Tier 3
ISP
localISP
localISP
localISP
ISPs Locales y capa 3 son los clientes deDe los ISPs de las capas más altas que losconectan al resto de Internet
Estructura de Internet: red de redes
• ¡En Internet un paquete atraviesa muchas redes!
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
NAP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
localISPlocal
ISPlocalISP
localISP
localISP Tier 3
ISP
localISP
localISP
localISP
Estructura de Internet: red de redes
Aplicación
Presentación
Sesión
Transporte
Red
Enlace
Física
Aplicaciones de Red: transferencia de archivos
Formatos y representación de los datos
Establece, mantiene y cierra sesiones
Entrega confiable/no confiable de “mensajes”
Entrega los “paquetes” y hace enrutamiennto
Transfiere “frames”, chequea errores
Transmite datos binarios sobre un medio
Nivel OSI Función
Cada nivel (ó capa) tiene unas funciones precisas para resolver determinados problemas de la comunicación (“divide y vencerás”)
El modelo de referencia OSI
Servicios, interfaces y protocolos
• El modelo OSI distingue entre:– Servicios (funciones):
Qué hace la capa
– Interfaces: Cómo las capas vecinas pueden solicitar/dar servicios
– Protocolos: Reglas para que capas “pares” se comuniquen
Universidad Nacional de Colombia - 1999
Capa A
Capa B
Capa A
Capa B
NODO 1 NODO 2
Arquitectura de TCP/IP
AplicaciónPresentación
SesiónTransporte
RedEnlaceFísica
Aplicación
TransporteInternet
Acceso de Red
Aplicaciones y procesos que usan la red
Servicios de entrega de datos entre nodosDefine el datagrama y maneja el enrutamiento
Rutinas para acceder el medio físico
No hay un acuerdo sobre como representar la jerarquía de losprotocolos de TCP/IP con un modelo de capas (utilizan de tres a cinco).
Capa de Acceso de Red
Capa Internet
Capa de transporte
Capa de aplicación
Encapsulación de datos
• Cada capa de la pila TCP/IP adiciona información de control (un “header”) para asegurar la entrega correcta de los datos.
• Cuando se recibe, la información de control (header) se retira.
DATOSHeader
DATOSHeaderHeader
Header DATOSHeaderHeader
DATOS
• Diseño en forma de reloj de arena permite ver la importancia de IP: es el corazón de la arquitectura
…
FTP HTTP SNMP TFTP
TCP UDP
IP
RED1 RED2 REDn
SMTP RTP
Muchos tipos de redes envían y reciben paquetes IPToken Ring, Ethernet, WiFi, WiMax, ATM, FDDI, PPP, Frame Relay, ...
Hacia arriba o hacia abajo¡Todo pasa por IP!
Muchas aplicaciones se mueven sobre IPCorreo, navegación, gestión, transferencia de datos, video, voz, multimedia ...
Otro modelo de arquitectura de TCP/IP
Breve Historia
• A finales de los sesenta la ARPA del DoD hizo acuerdos con Universidades de los EUA y la comunidad de investigación para diseñar estándares y protocolos abiertos para su red conocida como ARPANET.
• La inicial ARPANET, la primera red de conmutación de paquetes, empezó su operación en 1969 conectando 4 universidades, 3 en el estado de California y la otra en el estado de Utah. Estos primeros 4 nodos se enlazaron vía circuitos de 56 kbps utilizando el protocolo NCP (el predecesor de TCP/IP).
• En 1974, el diseño para un nuevo conjunto de protocolos, para la ARPANET, fue propuesto por Vinton G. Cerf como Robert E. Kahn. El nombre oficial para ese conjunto de protocolos fue TCP/IP, el cual fue tomado de los nombres del protocolo de capa de red (Internet Protocol [IP]) y de unos de los protocolos de la capa de transporte (Transmisión Control Protocol [TCP]).
• La inicial especificación se fue desarrollando hasta llegar a varias versiones, culminando en la versión 4 en 1979, la cual fue finalmente estandarizada en 1981.
Breve Historia
• El éxito del protocolo TCP/IP en el mundo UNIX fue gracias al hecho de que la Universidad de California en Berkeley emprendió la implementación de TCP/IP en la versión 4.2 de su sistema operativo UNIX BSD en 1983 y de la publicación del código fuente como un software de dominio público.
• Los diseñadores de Internet jamás se imaginaron el crecimiento explosivo del número de nodos conectados a la supercarretera de la información; así que decidieron que las direcciones IP contendrían 32 bits, permitiendo 4 mil millones de direcciones. Parecen muchas pero...
• A principios de los noventa, con la apertura comercial del Internet, la revolución de las computadoras personales, las redes de área local (LANs), el World Wide Web (www) y aunado a la pésima repartición de las IPs demostraron claramente que los 4 mil millones de direcciones no serian suficientes. Este crecimiento explosivo de dispositivos que requieren estar conectados a la red requerirá de un nuevo esquema de direccionamiento para mantenerlos en operación.
Internet Protocol
Modelo de servicios
Dos grandes problemas que debe resolver IP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
NAP
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
localISPlocal
ISPlocalISP
localISP
localISP Tier 3
ISP
localISP
localISP
localISP
…
FTP HTTP SNMP TFTP
TCP UDP
IP
RED1
RED2 RED
n
SMTP RTP
1. Escalabilidad de Internet
2. Heterogeneidad de redes
A. Direccionamiento (identificación) para millones de nodos B. Enrutamiento para encontrar eficientemente un camino para llegar a millones de nodos
A. Usuarios de un tipo de red deben comunicarse con usuarios de otro tipo de redB. Establecer conectividad entre dos redes implica pasar por otras (que pueden ser de diversa índole)
Nodo 1
Nodo 2
¿Qué es una internet(work)?
• Colección de redes interconectadas para proveer algún tipo de servicio de entrega de paquetes entre hosts. Los nodos que interconectan redes son los routers.
• El protocolo IP es la herramienta clave que actualmente permite construir internet(work)s heterogéneas y escalables.– Una forma de visualizar IP es como un protocolo que corre sobre
todos los nodos (hosts y routers) que pertenecen a diferentes redes (físicas) y define la infraestructura que permite a estos nodos y redes funcionar como una única intenet (lógica).
Modelo de servicios
• El modelo de servicios de IP tiene dos partes– Modelo de entrega de datos no orientado a
conexión. Este modelo de servicio también se denomina de mejor esfuerzo (best effort), pues no garantiza la entrega del datagrama IP.
– Un esquema de direccionamiento: la forma para identificar todos los hosts en la internet(work). Es decir, la dirección IP.
Entrega de datos
• Para entregar datos entre dos hosts en internet es necesario moverlos a través de la red al host correcto, y dentro del host, llevarlo al proceso o usuario correcto.
• TCP/IP utiliza tres esquemas para lograr la entrega de datos:– Addressing: La dirección IP, que identifica de manera única
cualquier host en la red, permite entregar los datos al nodo correcto.
– Routing: El router entrega los datos a la red correcta.– Multiplexing: los números de protocolo y los números de puerto
permiten entregar los datos, dentro del host, al módulo de software correcto.
Entrega del datagrama IP
• El datagrama IP lleva la información suficiente para que la red envíe el paquete al destino correcto.
• Cuando el datagrama es enviado, la red hace el mejor esfuerzo para entregarlo al destino deseado.– Mejor esfuerzo significa que si algo va mal y el paquete se pierde,
se corrompe, se entrega en el destino equivocado o ocurre cualquier otro problema con los datos, la red no hará nada: no hace ningún intento para recuperar los datos la falla, sólo hace su “mejor esfuerzo”.
– Este comportamiento en ocasiones es denominado servicio no confiable (unreliable service)
Entrega del datagrama IP
• El servicio no orientado a conexión, o de mejor esfuerzo, es el servicio más simple para una internet(work) y es su gran fortaleza.– Mejor esfuerzo (en un router) sobre una red (física) confiable
aprovecha la confiabilidad del capa inferior y eso está bien.
– Un servicio confiable (en un router) sobre una red (física) no confiable, es colocar demasiada funcionalidad extra que no se reflejará debido a la no confiabilidad de la capa inferior y eso no está bien.
• Mantener los routers lo más simples posibles es una de las metas de diseño de IP.
Entrega del datagrama IP
• La habilidad de IP para “correr sobre cualquier cosa” es una de sus características más importantes (algunos exageran diciendo que IP puede transportar mensajes utilizando palomas mensajeras).
• La entrega de mejor esfuerzo no solo significa que los paquetes se pueden perder, en otras ocasiones pueden entregarse de manera desordenada o se puede entregar el mismo paquete más de una vez. Los protocolos ubicados en las capas superiores deben estar atentos a todos estos tipos de fallas.
IPv4
El estándar IP
• IPv4 se definió en el RFC 791. Este RFC contenía algunos puntos ambiguos que fueron clarificados en el RFC 1122 (Host Network Requirements)
• Datagrama IP: unidad de datos (PDU) manejada por IP. Incluye los datos transportados y el header IP asociado a dichos datos.
• Paquete IP: otro término para Datagrama IP, aunque el término es utilizado para hacer referencia a la porción de datagrama colocada en un frame, antes que al datagrama mismo. Por ejemplo, el sistema que envía o recibe (host) verá el datagrama como una única entidad, pero el datagrama puede haber sido dividido en varios paquetes IP para ser transmitido por redes intermedias
• Los hosts trabajan con datagramas IP, los routers trabajan con paquetes IP.
Formato del datagrama IPv4
IHL Tipo de servicio
Flags
Longitud total
Offset de fragmentación
Versión
Identificación
Tiempo de vida
Dirección origen
Dirección destino
No. de protocolo Chequeo del header
32 bits
Hea
der
IPv4
Más datos...
RellenoOpciones
Los datos comienzan aquí...
Más datos...
Dos ejemplos de datagrama
0: 0800 20a8 4aeb 0003 ba08 3a8d 0800 450016: 0030 41d5 4000 4006 a0b0 a8b0 03c8 a8b032: 031a 8026 0050 03c6 9eec 0000 0000 700248: c1e8 5865 0000 0204 05b4 0101 0402
0: 0003 ba08 3a8d 0800 20a8 4aeb 0800 450016: 0030 7b1b 4000 ff06 a869 a8b0 031a a8b032: 03c8 0050 8026 a5f3 b322 03c6 9eed 701248: 2238 8c54 0000 0101 0402 0204 05b4
Fragmentación y Reemsamblaje en IP
• Cada red de la capa de enlace tiene definido una MTU (por ejemplo, ethernet tiene una MTU de 1500 bytes)
• Cómo funciona la fragmentación en IP– Se fragmenta cuando sea necesario (MTU < Datagrama)– Se evita fragmentar en el nodo que origina la comunicación– La refragmentación es posible (fragmentar un datagrama
fragmentado)– Los fragmentso son datagramas autocontenidos– El reensamblaje ocurre al llegar al nodo destino– No se pueden recuperar los fragmentos perdidos
Ejemplo de fragmentación
Nodo 1 Router 1 Router 2 Router 3 Nodo 2
ETH IP (1400) FDDI IP (1400) PPP IP (512)
PPP IP (376)
PPP IP (512)
ETH IP (512)
ETH IP (376)
ETH IP (512)
Ident = x Offset = 0
Inicio del header
0
Resto del header
1400 bytes de datos
Ident = x Offset = 0
Inicio del header
1
Resto del header
512 bytes de datos
Ident = x Offset = 512
Inicio del header
1
Resto del header
512 bytes de datos
Ident = x Offset = 1024
Inicio del header
0
Resto del header
376 bytes de datos
Opciones en IP
• Extienden la funcionalidad de IP
• Pude utilizarse hasta 40 bytes para opciones (es decir la cabecera puede tener un tamaño máximo de 60 bytes)
• Utilizan un identificador con tres campos:
TIPO LONGITUD DATOS
Copy(1 bit)
Tipo(5 bits)Clase
(2 bits)
Copy: dice si la opción debe ser copiada a todos los framentos del datagramaClase: la clase 0 es para opciones de control de red y la 2 para depuración, la 1 y 3 están reservadasTipo: identifica la opción específica
TIPO: Identifica la opción específicaLONGITUD: indica el tamaños de la opción, incluyendo los campos tipo, longitud y los datosDATOS: Campo variable que lleva la información de la opción
1 byte 1 byte variable
Opciones en IP
Clase Tipo Longitud Descripción0 0 0 Fin de lista de opciones0 1 0 No operación0 2 11 Opciones de seguridad0 7 variable Registro de ruta0 3 variable Source routing0 9 variable Source routing estricto0 20 4 Alerta de ruta2 4 variable Timestamp
OPCIONES IPv4
Direccionamiento IPv4
• Cada interface de red (tarjeta de red) se le asigna una dirección lógica única de 32 bits.
• La dirección consta de una parte que identifica la red y otra que identifica el nodo:– La parte de nodo se asigna localmente
– La parte de red la asigna Internic, su ISP ó su administrador de red
• Existen básicamente dos esquemas de direccionamiento en IPv4– Direccionamiento global (Classful): utiliza “clases” de direcciones para
decir qué parte de la dirección IPv4 representa la red y que parte representa el nodo
– CIDR (Classless): utiliza un prefijo de red para decir cuántos bits de la dirección IPv4 representan la red. No utiliza clases.
Direccionamiento global IPv4
1110 RESERVADA PARA MULTICASTD
0 RED NODOA7 bits 24 bits
10 RED NODOB14 bits 16 bits
110 NODOREDC21 bits 8 bits
También es llamado direccionamiento “Classful”
Notación decimal con puntos
En lugar de utilizar binarios para representar la dirección IPv4:
10101000101100000000000100110010
Podemos separarlos en bytes (8 bits):
10101000101100000000000100110010
y representarlos en forma decimal
168.176.1.50
La dirección mínima bajo este formato es 0.0.0.0 y la máxima dirección es 255.255.255.255.
Máscara de subred en IPv4
Una dirección de red la podemos subdividir en subredes pidiendo prestados bits de la parte de identificación de host para identificar la subred:
10 RED NODO
14 bits 16 bits
SUBRED
¿Cómo funciona la máscara de subred?
10101000.10110000.00000001.00110010
A la siguiente dirección IP (168.176.1.50):
Le coloco la máscara 255.255.255.0:
11111111.11111111.11111111.00000000
Y obtengo la parte de la dirección que identifica una subred:
10101000.10110000.00000001.00110010
RED NODO
Se hace un “AND” lógico entre la dirección IP y la máscara para obtener la subred
CIDR: Classless InterDomain Routing
• Atiende dos problemas de escalamiento de IPv4– El crecimiento de las tablas de enrutamiento en el backbone de Internet
– Y el agotamiento de las direcciones IPv4 antes de ser asignadas (4 billones).
– “classful” es ineficiente
• Agrega (suma) rutas
• El nombre original era supernetting (por asociación con subnetting)
• Ya no se utilizan los primeros bits de la dirección IPv4 para saber la clase si no un prefijo de red. Este prefijo es un número que indica la cantidad de bits que representan la red.
– 200.24.8.0/23 (en este ejemplo los primeros 23 bits de la dirección IPv4 representan la red, los demás pueden utilizarse para representar el nodo. Desde el punto de vista del direccionamiento global -classful- es “sumar” dos redes tipo C)
Algunos “compañeros” de IPv4
• Asociación de la dirección física con la lógica: ARP (Address Resolution Protocol)
• Configuración automática: DHCP (Dynamic Host Configuration Protocol)
• Mensajes de error cuando un datagrama no puede procesarse bien: ICMP (internet Control Message Protocol)
Address Translation
• Mapea direcciones IP a direcciones físicas– nodo destino– next hop (siguiente) router
• Técnicas– codificar la dirección física en la parte de la dirección IP que identifica el
nodo– utilizando una tabla
• ARP (Address Resolution Protocol)– tabla de direcciones IP asociadas a direcciones física– solicitud broadcast si la dirección IP no está en la tabla– la máquina buscada responde con la dirección física– Las entradas en la tabla son decartadas si no se resfresca en cierto tiempo
Algunos detalles de ARP
• Formato de solicitud– HardwareType: tipo de red física (por ejemplo, Ethernet)– ProtocolType: tipo de protocolo de la capa superior (por ejemplo, IP)– HLEN & PLEN: longitud de las direcciones física y lógica– Operation: request (solicitud) o response (respuesta) – Direcciones origen/destino-física/lógica
• Nota:– El tiempo de permanencia de los datos en la tabla antes de ser
borrados es de unos 10 minutos– update table with source when you are the target – update table if already have an entry– do not refresh table entries upon reference
Formato del paquete ARP
TargetHardwareAddr (bytes 2 – 5)
TargetProtocolAddr (bytes 0 – 3)
SourceProtocolAddr (bytes 2 – 3)
Hardware type = 1 ProtocolType = 0x0800
SourceHardwareAddr (bytes 4 – 5)
TargetHardwareAddr (bytes 0 – 1)
SourceProtocolAddr (bytes 0 – 1)
HLen = 48 PLen = 32 Operation
SourceHardwareAddr (bytes 0 – 3)
0 8 16 31
Internet Control Message Protocol (ICMP)
• Utilizado para el comando ping (echo)
• Redirect (from router to source host)
• Destination unreachable (protocol, port, or host)
• TTL exceeded (so datagrams don’t cycle forever)
• Checksum failed
• Reassembly failed
• Cannot fragment