Tema 4
Tema 4
Tema 4
Grados Ing. Informática / Ing. de Computadores / Ing. del Software / Doble Grado
Universidad Complutense de Madrid
PROFESORES:
Rafael Moreno Vozmediano
Rubén Santiago Montero
Juan Carlos Fabero Jiménez
Inmaculada Pardines Lence
Carlos González Calvo
Julio Septién del Castillo
Arquitecturas de red: OSI vs TCP/IP
Modelo TCP/IP
Arquitectura
Arquitectur de 5 capas TCP/IPTCP/IP
Modelo sobre TCP/IP sobre
a OSI (genérico) Ethernet red telefónica
Aplicación
n Capa de Capa de Capa de
Presentación
Aplicaciones Aplicaciones Aplicaciones
Sesión
Transporte TCP-UDP TCP-UDP TCP-UDP
Red IP IP IP
SNMP
Aplicación
DNS NIS+ NFS FTP HTTP TELNET SMTP POP3 RPC
0 4 8 16 19 31
Versión IHL Tipo de servicio Longitud total
Identificador Flags Desplazamiento frag.
CABECERA
DATOS
El protocolo IP: Formato del datagrama
● Versión: valor=4 (IPv4)
● IHL
○ Longitud de la cabecera, en palabras de 32 bits.
○ Campo IHL ocupa 4 bits
○ Tamaño máximo de la cabecera = 15 palabras (60 bytes)
● Tipo de servicio
○ Prioridad
■ Especifica la prioridad del datagrama (hasta 8 niveles).
■ Un paquete de alta prioridad debe ser reexpedido por un router antes
que un paquete de baja prioridad (aunque este llegase antes)
○ QoS: Puede tomar los siguientes valores
■ 1000 → Minimizar retardo
■ 0100 → Maximizar rendimiento (velocidad de transmisión)
■ 0010 → Maximizar fiabilidad (seguridad en la entrega)
■ 0001 → Minimizar coste monetario
■ 0000 → Servicio normal
El protocolo IP: Formato del datagrama
● Longitud total
○ Longitud del datagrama (cabecera + datos) medida en bytes.
○ Campo Longitud Total ocupa 16 bits
■ Longitud máxima del datagrama: 216 bytes = 64 Kbytes
● Identificador
○ Número de 16 bits que identifica al datagrama
● Flags
○ MF (More Fragments): si está a 1 indica que no es el último fragmento
○ DF (Don´t Fragment): si es 1 prohíbe la fragmentación
● Desplazamiento del fragmento
○ Nº secuencia del fragmento (unidades = 8 bytes)
● Tiempo de vida (TTL, Time To Live)
○ Nº encaminadores que puede atravesar el paquete
○ Cuando TTL=0 el paquete debe ser descartado
El protocolo IP: Formato del datagrama
● Protocolo
○ Protocolo de la capa superior al que deben entregarse los datos
■ 1: Internet Control Message Protocol (ICMP)
■ 2: Internet Group Management Protocol (IGMP)
■ 6: Transmission Control Protocol (TCP)
■ 8: Exterior Gateway Protocol (EGP)
■ 17: User Datagram Protocol (UDP)
■ 41: IP Version 6 (IPv6)
■ 89: Open Shortest Path First (OSPF)
● Checksum
○ Suma de control de la cabecera
● Direcciones IP origen y destino
○ Identifican al host emisor y receptor del paquete
● Opciones
○ Campo opcional, con opciones especiales
○ Ejemplos: encaminamiento de origen, sello de ruta, sello de tiempo, etc.
○ Tamaño máximo del campo opciones: 10 palabras
El protocolo IP: Fragmentación
Ejemplo
Cab.IP Datos
Cab.IP Datos
A 20 3000 20 1000
20 1000 B
20 1000
Red 1 Red 2
(MTU=3020) Router (MTU=1020)
Identificación: 2667
Fragmento 1: Desplazamiento: 0 Cabecera IP 1000 bytes
MF=1; DF=0
Identificación: 2667
Desplazamiento: 125 Cabecera IP 1000 bytes
Fragmento 2: MF=1; DF=0
Identificación: 2667
Desplazamiento: 250 Cabecera IP 1000 bytes
Fragmento 3: MF=0; DF=0
El protocolo IP: Fragmentación
Ejemplo
El protocolo IP: Formato del datagrama
Encaminamiento estricto de origen (Strict Source Routing)
● Proporciona un medio para que el emisor del paquete pueda
especificar la ruta explícita que debe seguir el datagrama
● Contiene la siguiente información:
14 bits 16 bits
214 = 16.384 redes
Clase B 10 red host
216 = 65.536 hosts
128- 191 0 - 255
Ejemplo: 147.96.50.110
28 bits
Clase D 1110 multicast
Ejemplo: 224.0.0.1
224- 239 0 - 255 0 - 255 0 - 255
28 bits
Clase E 1111 experimental
El protocolo IP: Direcciones y Máscaras de red
Direcciones IPv4 sin clase (classless)
Ejemplo: Problema de las direcciones con clases
● Una empresa/institución necesita aprox. 15.000 direcciones IP
○ Con el direccionamiento con clase tiene que contratar una red clase B
completa (65.536 direcciones)
■ El coste es muy elevado (más direcciones de las necesarias)
■ Se desaprovechan las mayoría de las direcciones (más de 50.000)
● Usando direcciones sin clases
○ Se puede contratar un conjunto más ajustado (en potencias de 2)
■ En este caso, se pueden contratar 214 = 16.384 direcciones
Ejemplo
○ Dirección de clase C: 221.98.22.2
○ Máscara: 255.255.255.0
131.
El protocolo IP: Máscaras de Red
Ejemplo: Máscaras de red y tablas de encaminamiento
ARP Request
● Pregunta ARP (BROADCAST)
¿Quién es IP-B?
IP-A IP-B
MAC-A MAC-B
IP-C
MAC-C
IP-A IP-B
MAC-A MAC-B
● Respuesta ARP
IP-C
ARP Response
MAC-C IP-B es MAC-B
Protocolo de traducción de direcciones: ARP
Formato del paquete ARP
Protocolo de traducción de direcciones: ARP
Ejemplo de paquete ARP: Pregunta
ETHER: ----- Ether Header -----
ETHER:
ETHER: Destination = ff:ff:ff:ff:ff:ff, (broadcast)
ETHER: Source = 8:0:20:88:c9:ee, Sun
ETHER: Ethertype = 0806 (ARP)
ETHER:
ARP: ----- ARP/RARP Frame -----
ARP:
ARP: Hardware type = 1
ARP: Protocol type = 0800 (IP)
ARP: Length of hardware address = 6 bytes
ARP: Length of protocol address = 4 bytes
ARP: Opcode 1 (ARP Request)
ARP: Sender's hardware address = 8:0:20:88:c9:ee
ARP: Sender's protocol address = 147.96.21.31
ARP: Target hardware address = ?
ARP: Target protocol address = 147.96.21.120
Protocolo de traducción de direcciones: ARP
Ejemplo de paquete ARP: Respuesta
ETHER: ----- Ether Header -----
ETHER:
ETHER: Destination = 8:0:20:88:c9:ee, Sun
ETHER: Source = 0:3:ba:d:e7:e,
ETHER: Ethertype = 0806 (ARP)
ETHER:
ARP: ----- ARP/RARP Frame -----
ARP:
ARP: Hardware type = 1
ARP: Protocol type = 0800 (IP)
ARP: Length of hardware address = 6 bytes
ARP: Length of protocol address = 4 bytes
ARP: Opcode 2 (ARP Reply)
ARP: Sender's hardware address = 0:3:ba:d:e7:e
ARP: Sender's protocol address = 147.96.21.120
ARP: Target hardware address = 8:0:20:88:c9:ee
ARP: Target protocol address = 147.96.21.31
Protocolo de traducción de direcciones: ARP
Procedimiento de comunicación completo (Hosts en la misma red)
Red X: 192.168.10.0
Red Y: 192.168.20.0
Red X: 192.168.10.0
Red Y: 192.168.20.0
● Esta red se puede dividir, por ejemplo, en 256 subredes con 256 hosts cada una
○ Usamos 8 bits para identificar a la subred (28 = 256 subredes)
○ Usamos 8 bits para identificar a host (28 = 256 hosts)
● Nos queda la siguiente organización:
○ Subred 0: 150.23.0.0 (Dpto. de administración)
○ Subred 1: 150.23.1.0 (Dpto. de RRHH)
○ ......
○ Subred 255: 150.23.255.0 (Dpto. comercial)
● Por tanto la máscara de subred adecuada es la siguiente:
Red Subred Host
Ejemplo: Se solicitan dos direcciones de clase C para organizar una red de 500 hosts:
○ 192.16.168.0
○ 192.16.169.0
252.0
Organización en redes: CIDR
CIDR (Classless Interdomain Routing) Encaminamiento inter-dominio sin clases:
● Respuesta a los problemas que estaba teniendo Internet de:
○ Agotamiento de direcciones
○ Crecimiento de las tablas de ruta
● CIDR es el resultado de unir VLSM y Supernetting
○ Elimina el concepto de clases (A, B y C)
● Tablas de rutas en CIDR
○ Las entradas en las tablas de rutas de los routers deben tener no solo la
dirección de la red destino, sino también su máscara
● Ventajas de CIDR :
○ Asignar redes ajustadas al tamaño necesario.
■ Se asigna un identificador de red y una máscara del tamaño deseado
○ Reducir el número de entradas en las tablas de rutas “resumiendo” varias
entradas en una (agregado de direcciones)
Organización en redes: CIDR
Ejemplo: Tablas de rutas y organización con CIDR
Protocolo ICMP
Tipo Significado
0 Echo Reply
5 Redirect
Mensajes
8 Echo Request
Informativos
9 Router Solicitation
10 Router Advertisement
3 Destination Unreachable
Mensajes
4 Source Quench
de error
11 Time Exceeded
12 Parameter Problem
Protocolo ICMP: Echo Request/Reply
● Se utilizan para ver si un computador es alcanzable (habitualmente con ping)
● Formato de los mensajes Echo Request/Echo Reply
○ Los tipos son 8 (Echo Request) y 0 (Echo Reply)
○ Código = 0
○ Identificador: Permite establecer la correspondencia entre solicitud (Request)
y respuesta (Reply); ambas con el mismo identificador.
○ Secuencia: También se utiliza para establecer la correspondencia entre
solicitud y respuesta, cuando se envían varios Echo Requests consecutivos
con el mismo identificador.
○ Datos: Contiene un número determinado de bytes, generados aleatoriamente
por la herramienta de diagnóstico. El tamaño se puede especificar como un
parámetro de la orden ping
Tabla del nodo B Tabla del nodo C Tabla del nodo D Tabla del nodo E
Des- Siguiente Distan- Des- Siguiente Distan- Des- Siguiente Distan- Des- Siguiente Distan-
tino Nodo cia tino Nodo cia tino Nodo cia tino Nodo cia
C D 5 B D 5 B B 4 B D 7
D D 4 D D 1 C C 1 C C 3
E D 7 E E 3 E E 3 D D 3
Encaminamiento por Vector de Distancias
Ejemplo:
● Supongamos que se añade un nuevo nodo
● Inicialmente el nodo A sólo conoce los nodos
que tiene directamente conectados
○ Debe determinar la métrica a cada destino
(ej. ping para determinar el retardo)
Destino Siguiente Nodo Distancia
B B 2
C C 1
● Esta entrada, cuyo campo destino tiene valor 0.0.0.0, se utiliza para definir el router predeterminado
(default router)
● Esta entrada se utiliza cuando la red o host destino no coincide con ninguna de las entradas
anteriores de la tabla de rutas (por ejemplo, en el caso de la estación E)
● En esta situación, el paquete se debe entregar al router predeterminado (200.16.1.10)
● Normalmente, esta entrada se añade a la tabla de rutas de forma manual o mediante la lectura de
un fichero de configuración.