Ingeniería de Sistemas
2
TEMA: TCP/IP
OBJETIVOS: Entender el funcionamiento interno de las redes basadas en TCP/IP
SUBTEMAS:
•Introducción
•Nivel de red
•Protocolos: IP, ARP, ICMP y de enrutamiento
•Nivel de transporte
•Protocolos: UDP y TCP
•Nivel de aplicación
•Protcolos Dhcp y DNS
•Protocolo HTTP
Ingeniería de Sistemas
3
• “Redes globales de información en Internet y TCP/IP. Principios básicos, protocolos y arquitectura”. Douglas E. Comer. Ed. Prentice-Hall, 1997
• “TCP/IP ilustrated, vol. 1. The Protocols”. W. Richard Stevens, Addison Wesley, 1998.
• “TCP/IP Tutorial and Technical Overview”. A. Rodriguez, J. Gatrell, J. Karas Y R. Peschke, Ibm Redbooks, 2001. http://www.redbooks.ibm.com/redbooks/pdfs/gg243376.pdf
REFERENCIAS BIBLIOGRAFICAS
Ingeniería de Sistemas
4
Introducción
•Arpanet 1969-1990: respuesta al desarrollo soviético sputnik de 1957
•Internet 1973: resultado experimental de interconexión de redes heterogéneas
•1983 Arpanet se deja de considerar experimental y pasa a producción exigiendo tcp/ip a todos los nodos
http://sixrevisions.com/resources/the-history-of-the-internet-in-a-nutshell/
Ingeniería de Sistemas
5
Introducción
•¿Porqué es importante el protocolo IP?
•¿Porqué si no una tecnología nueva, ha permanecido durante varios años?
•¿Qué es un documento RFC?
•Permitir la conexión entre redes de cualquier tecnología.•Contar con un esquema de identificación propio independiente de la tecnología de red.•Encontrar una ruta entre un origen y un destino
Nivel de red: Objetivos
Versiones•RFC 791 Internet Protocol, in September 1981: Ip versión 4 Ipv4. Direccionamiento de 32 bitsRFC 2460 (Internet Protocol, Version 6 (IPv6) Specification): Ip versión 6. Direccionameinto de 128 bits. December 1998
Nivel de red: protocolo IP
Características•No orientado a conexión•No garantiza entrega de mensajes•No garantiza recuperación de errores•No dispone de mecanismos de control de flujo•Se puede dar: desórdenes en la recepción de paquetes, pérdidas, duplicaciones, etc.
Nivel de red: protocolo IP
Qué provee IP?•Un esquema de direccionamiento independiente de la tecnología.
•Un mecanismo de enrutamiento de paquetes entre diferentes redes
Nivel de red: protocolo IP
Ingeniería de Sistemas
10
Nivel de red: protocolo IP: Direcciones en IPv4
Ingeniería de Sistemas
11
Nivel de red: protocolo IP: Direcciones en IPv4
Todo nodo en TCP/IP debe pertencer a una red y se identifica mediante la dirección IP
Network ID: •Identificación de la red•Identifica la clase de la dirección•No se permite todos los bits en 0Hosto ID:• Identificación de un nodo dentro de la red•No se permite todos los bits en 0. Reservado para identificar la subred•No se permite todos los bits en 1. Reservado para trasmisiones bradcast
Ingeniería de Sistemas
12
Nivel de red: protocolo IP: Direcciones en IPv4
Tipos de tráfico en IP•Unicast: De un nodo a otro nodo de la red IP•Broadcast: De un nodo a todos los nodos de la red IP•Multicast: De un nodo a un grupo de nodos de la red IP
Ingeniería de Sistemas
13
Nivel de red: protocolo IP: Direcciones en IPv4
•Las diferentes clases de direcciones, reservan diferentes cantidades de bits para los campos de subred y de Host• Proporciona la flexibilidad requerida para soportar redes de diferentes configuraciones
Ingeniería de Sistemas
14
Nivel de red: protocolo IP: Direcciones en IPv4
Ingeniería de Sistemas
15
Nivel de red: protocolo IP: Direcciones en IPv4
¿Qué es una Intranet?
Direccionamiento privado RFC 1918. February 1996
Clase Direcciones Características
A 10.x.x.x/8 1 dirección de red de 2^24 nodos
B 172.16.x.x/12 16 direcciones de red de 2^16 nodos c/u.
C 192.168.x.x/16 256 direcciones de red de 2^8 nodos c/u.
Ingeniería de Sistemas
16
Nivel de red: protocolo IP: Direcciones IP especiales
Ingeniería de Sistemas
17
Nivel de red: protocolo IP: Direcciones IP especiales
Subnetting
División de redes, especialmentegrandes, en otras más pequeñas para:• Reducir el tamaño del dominio broadcast• Mejorar la seguridad de la red• Facilitar la administración (jerárquica)
El objetivo es subdividir “localmente” una subred en varias subredes pero que desde fuera se “nos vea” comouna única subred.
Ingeniería de Sistemas
18
Nivel de red: protocolo IP: Direcciones IP especiales
Cómo se hace subnetting
• “Robando” bits (normalmente los más significativos) del campo Host para enumerar las diferentes subredes.•La máscara de red (NETMASK) indicará a cada equipo de la red, cuántos bits constituyen el campo de subred y cuántos el campo de Host.• Todos los equipos de una misma subred, deben tener la misma dirección de subred
Ingeniería de Sistemas
19
Nivel de red: protocolo IP: Direcciones IP especiales
Pará que sirve el netmask
• La subdivisión es transparente a los equipos de las subredes.• Con la netmask, determinamos si la dirección ip de otro equipo está en mi propia subred o en otra diferente
dir ip (AND) netmask = dir subred
Ingeniería de Sistemas
20
Nivel de red: protocolo IP: Direcciones IP especiales
Ejemplo clase C
# redes # bits de la máscara
Máscara en notación decimal
1 24 255.255.255.0
2 25 255.255.255.128
4 26 255.255.255.192
8 27 255.255.255.224
16 28 255.255.255.240
32 29 255.255.255.248
64 30 255.255.255.252
128 31 255.255.255.254
Ingeniería de Sistemas
21
Nivel de red: protocolo IP: Ejemplo
Ingeniería de Sistemas
22
RouteDatagram ( Datagram , RoutingTable )•Extract destination IP address, D, from the datagram and compute the network prefix, N;
•if N matches any directly connected network addressdeliver datagram to destination D over that network
•else if the table contains a host-specific route for Dsend datagram to next-hop specified in table
•else if the table contains a route for network Nsend datagram to next-hop specified in table
•else if the table contains a default routesend datagram to the default router specified in table
•else declare a routing error;
Nivel de red: protocolo IP: Enrutamiento
Ingeniería de Sistemas
23
Nivel de red: protocolo IP: Datagrama IP
Ingeniería de Sistemas
24
VERSION (4):Versión del protocolo IP, debe ser verificada por el emisor, receptor y enrutadores para garantizar el buen entendimiento del formato. En caso de no soportar la versión se rechazan los paquetes.
HLEN (4) LONGITUD: Longitud del encabezado medida en palabras de 32 bits
LONGITUD TOTAL (16): Longitud total del datagrama
Nivel de red: protocolo IP: Datagrama IP
Ingeniería de Sistemas
25
TIPO DE SERVICIO TOS (8): Especifica cómo el datagrama debe ser manejado.
Nivel de red: protocolo IP: Datagrama IP
PRECEDENCIA (3)
0: PRECEDENCIA NORMAL 7: CONTROL DE RED
D (1): BAJA RETARDO
T (1): ALTO FLUJO DE DATOS
R (1): ALTA CONFIABILIDAD
NO USADO (2)
Ingeniería de Sistemas
26
IDENTIFICACION (3): Entero único que identifica un datagrama (fragmentación)
FLAGS (3): Control de fragmentación.Se puede fragmentar? Es el último fragmento?
FRAGMENT OFFSET (13): Contiene la ubicación dentro del paquete original en donde queda el fragmento medido en grupos de 8 bytes
Nivel de red: protocolo IP: Datagrama IP
DF: no fragmentarMF: Hay mas fragmentos
Ingeniería de Sistemas
27
Nivel de red: protocolo IP: Fragmentación en IP
Ingeniería de Sistemas
28
Nivel de red: protocolo IP: Fragmentación en IP
Ingeniería de Sistemas
29
TIME (8):Tiempo de vida. Especifica el número máximo de saltos (de router a router) que el paquete puede dar en internet
PROTO (8): Se espacifica el formato y el contenido de los datos para identificación del tipo del protocolo de nivel superior
01: ICMP06: TCP17: UDP
Nivel de red: protocolo IP: Datagrama IP
Ingeniería de Sistemas
30
CHECKSUM DE ENCABEZADO (16):Asegura la integridad de los datos de la cabecera.
Es el complemento a uno de 16 bits de la suma de complementos a uno de todas las palabras de 16 bits del encabezado.
Nivel de red: protocolo IP: Datagrama IP
Ingeniería de Sistemas
31
DIRECCION IP FUENTE (32)
DIRECCION DE DESTINO (32)
Nivel de red: protocolo IP: Datagrama IP
Ingeniería de Sistemas
32
OPCIONES (variable)
PADDING (variable)
Nivel de red: protocolo IP: Datagrama IP
Ingeniería de Sistemas
33
COPY Controla cómo los routers tratan las opciones durante la fragmentación. Osea si son propagadas o no a todos los fragmentos
OPTION CLASS
0: Datagrama o control de red 1: Reservada 2: Debugging and measurement 3: Reservada
OPTION NUMBER
VALOR
Nivel de red: protocolo IP: Datagrama IP
Ingeniería de Sistemas
34
Clase de opción 2
4 (variable): Internet timestamp. Usado para grabar timestamp a largo de la ruta.
Clase de opción 0
0 (1): Fin de la lista de opciones. Usada si las opciones no terminan al fin del datagrama
1 (1): No operación
2 (11): Restricciones de seguridad y manejo
3 (variable): Pérdida de la ruta de origen. Usada para enrutar datagramas a lo largo de una ruta específica.
7 (variable): Graba la ruta. Usada para depurar una ruta
8 (4): Identificador de flujo.
9 (variable): Enrutamiento fuente estricto.
Nivel de red: protocolo IP: Datagrama IP
Ingeniería de Sistemas
35
• DATOS (variable)
Nivel de red: protocolo IP: Datagrama IP
Ingeniería de Sistemas
36
Nivel de red: protocolo IP: Encapsulación en IP
Ingeniería de Sistemas
37
Nivel de red: protocolo ARP
Con el protocolo IP podemos llevar paquetes IP de una red a otra, pero ¿qué pasa dentro de nuestra LAN?
Requerimos hacer un mapeo entre direcciones de nivel 3 (IP) a direcciones de nivel 2 ( MAC o Físicas )
El protocolo ARP permite que dada una dirección IP, obtengamos la dirección MAC correspondiente.
Ingeniería de Sistemas
38
• Si el campo “Frame Type” tiene un valor <= 1518 (0x05FE), se considera del tipo 802.3, representanto la lonfigud de la trama.
• De lo contrario, se interpretara como trama del tipo Ethernet II, y este campo será un código de trama asignado por Xerox > 1518.
– ARP (0x0806), IP (0x0800)
Nivel de red: protocolo ARP
Ingeniería de Sistemas
39
Nivel de red: protocolo ARP
Ingeniería de Sistemas
40
Nivel de red: protocolo ARP
Ingeniería de Sistemas
41
Nivel de red: protocolo ARP
Ingeniería de Sistemas
42
Nivel de red: protocolo RARP
Ingeniería de Sistemas
43
Ingeniería de Sistemas
44
• Las operaciones de Internet son monitoreadas por los routers
• Cuando algo ocurre inesperadamente es reportado por el ICMP
• Son alrededor de 12 tipos de mensajes
• Cada mensaje ICMP es encapsulado en un datagrama IP
Nivel de red: protocolo ICMP
Ingeniería de Sistemas
45
Nivel de red: protocolo ICMP
Ingeniería de Sistemas
46
Nivel de red: protocolo ICMP
Ingeniería de Sistemas
47
Nivel de red: protocolo ICMP
Ingeniería de Sistemas
48
Nivel de red: protocolo ICMP
Ingeniería de Sistemas
49
Nivel de red: protocolo ICMP
Ingeniería de Sistemas
50
Nivel de red: protocolo ICMP
Ingeniería de Sistemas
51
Nivel de red: protocolo ICMP
Ingeniería de Sistemas
52
Nivel de red: protocolo ICMP
Ingeniería de Sistemas
53
Nivel de red: protocolo ICMP
Ingeniería de Sistemas
54