Sei sulla pagina 1di 31

Una Mirada a los

protocolos del Stack


TCP/IP
Protocolos de Autenticación Remoto

Temas
• Breve revisión de internetworking
– ¿Que es la Internet?
– Modelos de red: OSI y TCP/IP
– Protocolo IP
– Direccionamiento: Direcciones IP, ruteo
– DHCP
– UDP
– TCP: control de flujo y congestión, recuperación de
errores
– Aplicaciones Tradicionales:
– HTTP, FTP y DNS

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
¿Que es la Internet?
• Un conjunto de redes interconectadas
• Un conjunto de servicios

• Las redes pueden ser de diferente


naturaleza
– Ethernet, ATM, modem, …
– (TCP/)IP es lo que las une

¿Que es la internet? (cont.)


• Routers (nodos) son dispositivos ubicados
en múltiples redes que regulan el trafico
entre ellas
• TCP/IP oculta estos detalles en la medida
de lo posible

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Modelo de Red TCP/IP
• Vista diferente – 4 capas
– Capa 1 : Enlace
– Capa 2 : Red
– Capa 3 : Transporte
– Capa 4 : Aplicación

OSI y Stack de Protocolos OSI: Open Systems Interconnect

OSI Model TCP/IP Hierarchy Protocols

7th
Application Layer

6th
Presentation Layer Application Layer

5th
Session Layer

4th
Transport Layer
Transport Layer

3rd
Network Layer
Network Layer

2nd
Link Layer
Link Layer
1st
Physical Layer

Capa Enlace: incluye drivers e interfaces de tarjetas de red


Capa de Red : maneja el movimiento de paquetes, i.e. Ruteo
Capa Transporte : provee un flujo de datos confiable entre procesos
Capa Aplicación : maneja detalles de la aplicación

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Encapsulación de Paquetes
 Los datos se envían a través del stack de protocolos
 Cada capa agrega datos mediante la inclusión de cabeceras

22Bytes 20Bytes 20Bytes 4Bytes

64 to 1500 Bytes

La Capa de Enlace
“link - enlace”

Algo de terminología:
• hosts y routers son nodos
• Canales de comunicación que cone
ctan nodos adyacentes a lo largo
de un camino de comunicación son
enlaces
– Enlaces cableados
– Enlaces inalámbricos
– LANs
• El paquete de capa 2 es un frame
(o trama), encapsula un datagra
ma

La Capa de enlace de datos tiene la responsabilidad de transferir datagr


amas desde un nodo al nodo adyacente a través de un enlace

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Direcciones MAC y ARP
• Direcciones IP son de 32-bit:
– Son direcciones de la capa de red
– Son usada para conducir un datagrama a la subred destino
• Dirección MAC (o LAN o física o Ethernet):
– Son usadas para conducir un datagrama a otra interfaz física
mente conectada (en la misma red)
– Son de 48 bits (en mayoría de LANs) están grabadas en una R
OM de la tarjeta adaptadora

Direcciones LANs y ARP


Cada adaptador de la LAN tiene una dirección única

1A-2F-BB-76-09-AD Dirección de Broadcast =


FF-FF-FF-FF-FF-FF

LAN
(cableada o
= adaptador
inalámbrica)
71-65-F7-2B-08-53
58-23-D7-FA-20-B0

0C-C4-11-6F-E3-98

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
ARP: Address Resolution Protocol

Pregunta: ¿cómo determinar • Cada nodo IP (Host o Ro


la dirección MAC sabiendo uter) de la LAN tiene un
la dirección IP? a tabla ARP
• Tabla ARP: mapean dire
237.196.7.78
cciones IP/MAC para al
1A-2F-BB-76-09-AD
gunos nodos de la LAN
237.196.7.23 < IP address; MAC address; TTL>
237.196.7.14
– TTL (Time To Live): tiem
LAN po de expiración para el
71-65-F7-2B-08-53
58-23-D7-FA-20-B0
mapeo (típicamente 20 mi
n)

0C-C4-11-6F-E3-98
237.196.7.88

Operación del protocolo ARP

broadcast

Es posible que otro sistema distinto al B pueda intentar convencer al Sistema A que el es el sistema B
al intentar responder al mensaje ARP request. ¿Le trae algún recuerdo este escenario, como el
ataque del MIG en el medio

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Estructura Paquete ARP

El ataque anterior es posible y se denomina ataque del hombre en el medio ya que la respuesta que
envía el pseudo Sistema B no lleva ninguna información que permita autenticar el origen de mensaje.
Observe que la estructura del paquete ARP se transmite además en texto plano.

Casos en los que se emplea ARP

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
IP
• Es responsable de la transmisión host a
host
• Gestiona datos en paquetes individuales
• El tamaño máximo de un paquete es
determinado por la red
– Usa fragmentación si paquetes es muy
grande
• No confiable
– Paquetes se podrían perder, corromper,
duplicar, o ser entregados desordenados

Note que confiabilidad no es lo mismo que confidencialidad…

Direcciones IP
• 4 bytes (IP v4)
– e.g. 163.1.125.98
– Cada dispositivo posee normalmente una ( o
mas)
– En Teoría hay 4 mil millones de direcciones
disponibles (232)

• Pero…

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Routing
• ¿Como sabe un dispositivo hacia donde
enviar un paquete?
– Todos los dispositivos requieren saber las
direcciones IP de aquellos conectados a
redes alcanzables
– Si el destino es local envíelo directamente

Routing (cont)
• Si el destino no es local
– La mayoria de los outers envian todo a un
unico router local
– Los routers necesitan saber que direcciones
IP le corresponden a una red

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Paquetes IP
• Direcciones IP de origen y destino
• Numero de Protocolo
– 1 = ICMP, 6 = TCP, 17 = UDP
• Varias opciones
– e.g. controlar fragmentación
• Time to live (TTL)
– Prevenir loops por ruteo

Datagrama IP
0 4 8 16 19 24 31
Vers Len TOS Total Length
Identification Flags Fragment Offset
TTL Protocol Header Checksum
Source Internet Address
Destination Internet Address
Options... Padding
Data...

Field Purpose Field Purpose


Vers IP version number TTL Time To Live - Max # of hops
Len Length of IP header (4 octet units) Protocol Higher level protocol (1=ICMP,
TOS Type of Service 6=TCP, 17=UDP)
T. Length Length of entire datagram (octets) Checksum Checksum for the IP header
Ident. IP datagram ID (for frag/reassembly) Source IA Originator’s Internet Address
Flags Don’t/More fragments Dest. IA Final Destination Internet Address
Frag Off Fragment Offset Options Source route, time stamp, etc.
Data... Higher level protocol data

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Ruteo IP
Source Destination
Application Application
Transport Router Transport
Network Network Network
Link Link Link

• Tabla de ruteo
Dirección IP de Destino
Dirección IP del próximo router
Flags
Especificaciones de la interfaz de red

Observe que un router, que tiene como fin la entrega de paquetes de datos desde el origen al
destino de este, no procesa cabeceras correspondientes a protocolos de capa superior, tales como
TCP, HTTP, o DNS, por nombrar los más conocidos.

Escenario cliente-servidor DHCP

Servidor
223.1.1.0/24
DHCP
223.1.1.1 223.1.2.1

223.1.1.2 Clientes DHCP


223.1.1.4 223.1.2.9
que recién llegan
y necesitan
223.1.3.27
223.1.2.2 direcciones en
223.1.1.3
esta red
223.1.2.0/24

223.1.3.1 223.1.3.2

223.1.3.0/24
16-07-2017
Catedra #13

Un protocolo básico que permite configurar un nuevo equipo al momento que este desea
incorporarse a una red es a través del protocolo DHCP (Dynamic Host Configuration Protocol).

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Escenario cliente-servidor DHCP
DHCP server: 223.1.2.5 DHCP discover Cliente
Recien llegado
src : 0.0.0.0, 68
dest.: 255.255.255.255,67
yiaddr: 0.0.0.0
transaction ID: 654

DHCP offer
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 654
lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68
dest:: 255.255.255.255, 67
yiaddrr: 223.1.2.4
transaction ID: 655
lifetime: 3600 secs

DHCP ACK
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 655
lifetime: 3600 secs
16-07-2017
Catedra #13

Note que, ya sea en el mensaje DHCP discover o el DHCP request, el nuevo recien llegado busca a
alguien que otorgue la configuración de acceso a la red (dirección IP, dirección de router por defecto,
dirección del servidor de resolución de nombres (DNS)). Observando el tráfico de la diapositiva, ¿El
recién llegado tiene alguna prueba de confianza que la información de respuesta es confiable?

DHCP: mas que direcciones IP


DHCP puede responder con mas información que u
na dirección IP de la sub-red:
 Dirección del router del primer hop para el cliente
 Nombre y dirección IP del servidor DNS
 Mascara de red (que indica la porción de la dirección IP que corresponde
al de la subred y al de host)

16-07-2017
Catedra #13

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Análisis de Seguridad
• ¿Qué ataques podría ejecutar Trudy sobre IP y
DHCP?

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
UDP
• Delgada capa sobre IP
• Agrega largo paquete + checksum
– Detección de paquetes corruptos
• Agrega además puertos de origen y
destino
– Los puertos se usan para asociar a un
paquete con una aplicación especifica en
cada terminal o host
• Es no confiable:
– Duplicación, perdida, entrega fuera de
orden es posible

Datagrama UDP
0 16 31
Source Port Destination Port
Length Checksum
Application data

Field Purpose
Source Port 16-bit port number identifying originating application
Destination Port 16-bit port number identifying destination application
Length Length of UDP datagram (UDP header + data)
Checksum Checksum of IP pseudo header, UDP header, and data

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Típicas aplicaciones de UDP
• Cuando la perdida de paquetes es
enfrentada de mejor forma por la capa de
aplicación
• Cuando no deseamos el sobrecosto de
establecer una conexión
– VOIP
– NFS – Network File System
– La mayoría de los Juegos en Línea

 Averigüe un par de ataques reportados al protocolo UDP


 Averigüe el concepto de IP Spoofing (Falsificación de dirección IP)

TCP
• Confiable, full-duplex, orientado a
conexión, entrega de flujo de bytes
– La interfaz que se presenta a la aplicación no
requiere manejar los datos directamente de
paquetes individuales
– Se garantiza que los datos llegaran todos, en
el orden correcto y sin duplicaciones
• O se cancelara la conexión
– Impone sobrecostos significativos

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Aplicaciones de TCP
• ¡Son la mayoría disponible en la Internet!
– HTTP, FTP, SMTP, DNS …

• Nos ahorra mucho trabajo al desarrollar


una aplicación a menos que tenga una
buena razón para no usar alguna de ellas

Implementación de TCP
• Las conexiones se establecen usando un
saludos de manos de 3 vías (three-way
handshake)
• Los datos son divididos por el SO en
paquetes
• Los paquetes son enumerados y los
paquetes recepcionados son acusados sus
recibos
• Las conexiones son explícitamente cerradas
(o podrían anormalmente terminar)

SO: Sistema Operativo

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Saludo de manos de 3 vías TCP

Estado cliente Estado servidor


CLOSED LISTEN
escoge num sec inic x
envía msg TCP SYN
SYNSENT SYNbit=1, Seq=x
escoge num seq inic, y
envía msg TCP SYNACK,
Acusa recibo del SYN SYN RCVD
SYNbit=1, Seq=y
ACKbit=1; ACKnum=x+1
recibe SYNACK(x)
ESTAB Indica servidor esta activo;
envía ACK por SYNACK;
este segmento podría contener ACKbit=1, ACKnum=y+1
datos cliente-a-servidor
recibe ACK(y)
indica cliente esta activo
ESTAB

16-07-2017

 Averigüe si existe algún ataque donde se intente establecer saludos de manos a medias.
¿Qué propósito tendría este protocolo?

 Averigüe que es una syn cookie y cuál es su propósito

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Paquetes TCP
• Puertos de origen + el de destino
• Numero de secuencia (usado para ordenar
paquetes)
• Numero de acuso de recibo (usado para
verificar recepción de paquetes)

Dado que TCP es el protocolo que garantiza confiabilidad en la transferencia de datos, este debe
identificar cada segmento TCP, con el propósito de identificar un segmento duplicado o bien un
segmento perdido. Cada segmento TCP recepcionado es acusado su recibo al emisor para permitir
que el emisor pueda transmitir nuevos segmentos. Los detalles de la cabecera de un segmento se
aprecian en la siguiente diapositiva

Segmento TCP
0 4 10 16 19 24 31
Source Port Destination Port
Sequence Number
Acknowledgment Number
Len Reserved Flags Window
Checksum Urgent Pointer
Options... Padding
Data...
Field Purpose
Source Port Identifies originating application
Destination Port Identifies destination application
Sequence Number Sequence number of first octet in the segment
Acknowledgment # Sequence number of the next expected octet (if ACK flag set)
Len Length of TCP header in 4 octet units
Flags TCP flags: SYN, FIN, RST, PSH, ACK, URG
Window Number of octets from ACK that sender will accept
Checksum Checksum of IP pseudo-header + TCP header + data
Urgent Pointer Pointer to end of “urgent data”
Options Special TCP options such as MSS and Window Scale

Lo importante es saber que TCP usa numeros de puerto, # de sec. y acusos

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
 Averigüe para que se emplea el campo flags y detalle al menos dos ataques que
busquen enviar paquetes con valores declarados no compatibles con el estándar en
este campo.

Control de Flujo TCP


• Emplea ventana de transmisión
• Ventanas varían con el tiempo
– El receptor avisa cuantos paquetes puede recibir en
los acusos
• Basado en disponibilidad de búfer
– Fuente ajusta su ventana para que coincida con el
búfer disponible en receptor
– Si búfer del receptor de llena, truco envíe ventana
“disponible” de un byte
• También se usa para controlar la congestión (por
ejemplo, en los routers intermedios)

14

Control de Flujo y Congestión son dos mecanismos de control que ejecuta TCP para evitar generar
segmentos en demasía que pudieran saturar el búfer de quien recepciona los segmentos (control de
flujo) o pudiera agregar demasiado tráfico sobre un router, cuyo búfer de recepción se encuentra al
borde de la saturación. En tal caso el router eliminara cualquier paquete que reciba para el cual no
te recursos para procesarlo ocasionando la perdida de paquetes.

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Algunas Aplicaciones Tradicionales de
la Internet
• HTTP
• SMTP
• DNS

Revisaremos tres de las aplicaciones más tradicionales y populares que operan en la Internet.

Web y HTTP
Primero, una revisión…
• Una pagina web consiste de objetos
• Un objeto puede ser un archivo HTML, imagen JPEG, applet Java, archi
vo de audio,…
• Una pagina web consiste de un archivo base HTML que incluye varios ob
jectos referenciados . Cada objeto es direccionable con una URL, e.g.,

www.algunaUniversidad.cl/algunDept/pic.gif

Nombre del host ruta

16-07-2017 Catedra #5

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Introducción a HTTP
HTTP: hypertext transfer protocol
• Protocolo de capa de aplicación
de la web

• Modelo cliente/servidor PC corriendo


Navegador Firefox
– cliente: navegador que solicit
a, recibe, (usando protocolo
HTTP) y “muestra” los objet
os
– servidor: servidor Web enví server
a (usando protocolo HTTP) o corriendo
bjetos en respuesta a una pe Apache Web
tición server

iphone corriendo
navegador Safari

16-07-2017 Catedra #5

HTTP es un protocolo muy simple del tipo petición/respuesta.

Revisión HTTP (continuación)


Usa TCP: HTTP es “sin estado”
• cliente inicia una conexión TCP • Servidor no mantiene inf
ormación sobre peticione
(crea un socket) en el servidor, s de clientes anteriores
en el puerto 80
• servidor acepta conexiones TC
P desde los clientes
aparte
• Mensajes HTTP (mensajes de protocolos que mantienen “estado” son co
protocolo de capa de aplicación mplejos!
 Historia pasada (estado) debe ser guar
) se intercambian entre el nave dada
gador (cliente HTTP) y servido  Si el servidor/cliente se “cae”, sus vista
r Web (servidor HTTP) s de “estado” podrían ser inconsistent
es, deben ser reconciliadas
• La conexión TCP es terminada

16-07-2017 Catedra #5

Como su principal objetivo es la recuperación de hypertexto (html), por tanto este protocolo
requiere emplear un protocolo de capa de transporte que garantice confiabilidad como es el caso de
TCP.

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Mensaje de petición HTTP

• Dos tipos de mensajes HTTP: petición, respuesta


• Mensaje de petición HTTP Caracter de retorno de carro
– ASCII (formato legible por humano) Caracter de nueva línea
Línea de petición
(comando) GET /index.html HTTP/1.1\r\n
Host: www-net.cs.umass.edu\r\n
User-Agent: Firefox/3.6.10\r\n
Accept: text/html,application/xhtml+xml\r\n
líneas Accept-Language: en-us,en;q=0.5\r\n
cabecera Accept-Encoding: gzip,deflate\r\n
retorno de carro, Accept-Charset: ISO-8859-1,utf-8;q=0.7\r\n
Keep-Alive: 115\r\n
cambio de línea
Connection: keep-alive\r\n
al comienzo de una \r\n
línea indica fin de
líneas de cabecera

16-07-2017 Catedra #5

El largo de la cabecera de un mensaje HTTP es arbitrario pero al menos un mensaje básico de


petición HTTP debe contener el tipo de mensaje (en el ejemplo es GET) y luego un par de símbolos
\r\n que identifican una línea vacía que marca el fin de la cabecera. Algunos campos interesantes de
una peticion http son el user agent, que identifica el navegador web que envia la solicitud. Otro es el
Keep-alive con el cual el cliente HTTP solicita al servidor el uso de conexiones HTTP persistentes.

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Mensaje de respuesta HTTP
Línea de status
(protocolo
Código estado HTTP/1.1 200 OK\r\n
Frase estado) Date: Sun, 26 Sep 2010 20:09:20 GMT\r\n
Server: Apache/2.0.52 (CentOS)\r\n
Last-Modified: Tue, 30 Oct 2007 17:00:02 GMT
\r\n
Líneas de ETag: "17dc6-a5c-bf716880"\r\n
Accept-Ranges: bytes\r\n
cabecera Content-Length: 2652\r\n
Keep-Alive: timeout=10, max=100\r\n
Connection: Keep-Alive\r\n
Content-Type: text/html; charset=ISO-8859-1\
r\n
\r\n
datos, e.g., datos datos datos datos datos ...
archivo HTML
solicitado
16-07-2017 Catedra #5

Este es una respuesta HTTP típica. Note el campo server el cual informa al cliente detalles de la
aplicación servidor empleada, detalles de la página web, tipo de contenido y confirmación de la
solicitud de persistencia. Note que al igual que una petición HTTP, la cabecera de respuesta es de
largo arbitrario y el fin de la cabera se señala con una línea vacía (el último par de \r\n). Note que el
contenido html es transmitido donde se señalan los datos.

Códigos de estado de respuesta HTTP


 El código de estado aparece en la 1ra línea del mensaje de respuesta del
servidor al cliente.
 Algunos códigos son:

200 OK
– Petición exitosa, objeto solicitado viene mas tarde en este
mensaje
301 Movido Permanentemente
– Objeto solicitado fue movido, nueva ubicación es especificad
a mas tarde en este mensaje (Ubicación)
400 Petición Errónea (Bad Request)
– Mensaje de petición no fue entendida por el servidor
404 No Encontrado (Not Found)
– Documento solicitado no fue encontrado en este servidor
505 HTTP Version Not Supported
16-07-2017 Catedra #5

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Algunas Aplicaciones Tradicionales de
la Internet
• HTTP
• SMTP
• DNS

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Correo Electrónico: SMTP [RFC 2821]
• usa TCP para transferencia de correo confiable desde el cliente al
servidor, puerto 25
• Transferencia directa: servidor que envía al servidor que recibe
• Tres fases de la transferencia
– handshaking (saludo)
– Transferencia de mensajes
– cierre
• Interacción comando/respuesta
– comandos: texto ASCII
– respuesta: código y frase de estatus
• Mensajes deben estar en ASCII de 7 bits

06/05/16 Catedra #6

Se detallan las principales características del protocolo empleado para el envío de emails (Send Mail
Transfer Protocol, SMTP)

Escenario: Alice envía un mensaje a Bob


1) Alice usa un UA para compo
4) Cliente SMTP envía el mens
ner un mensaje “a” bob@ub
aje de Alice sobre la conexi
iobio.cl
ón TCP
2) El UA de Alice envía mensa
5) Servidor de correo de Bob
je a su servidor de correo;
coloca el mensaje en la casil
mensaje es colocado en cola
la de correo de Bob
de mensajes
6) Bob invoca a su agente usua
3) El lado cliente de SMTP abr
rio (UA) para leer el mensa
e una conexión TCP con el s
je
ervidor de correo de Bob

1 user Servidor user


Servidor
agent de correo de correo agent
2 3 6
4
5
Servidor de Servidor de
06/05/16 Catedra #6
correo de Alice Correo de Bob

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Ejemplo Interacción SMTP
S: 220 hamburger.edu
C: HELO crepes.fr
S: 250 Hola crepes.fr, un gusto en conocerte
C: MAIL FROM: <alice@crepes.fr>
S: 250 alice@crepes.fr... Emisor ok
C: RCPT TO: <bob@hamburger.edu>
S: 250 bob@hamburger.edu ... Recipiente ok
C: DATA
S: 354 Escriba correo, finalice texto con una nueva
linea y un ".“
C: ¿Te gusta el ketchup?
C: ¿ y los pickles?
C: .
S: 250 Mensaje aceptado para entrega
C: QUIT
S: 221 hamburger.edu cierra conexion

06/05/16 Catedra #6

Este es la típica interacción entre un servidor SMTP actuando como cliente (C) cuando gestiona el
envío de correo con un servidor SMTP que actúa como servidor (S).

Algunas Aplicaciones Tradicionales de


la Internet
• HTTP
• SMTP
• DNS

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
DNS: domain name system
(Servidor de dominios de nombres)

personas: muchos identificadores: Domain Name System:


– Rut, nombre, # matricula • Base de datos distribuida
Hosts de Internet, routers: implementada en jerarquía de muchos
– Dirección IP (32 bit) – usado servidores de nombres
para direccionamiento de • Protocolo de capa de aplicación: hosts,
datagramas servidores de nombres comunican para
– “nombre”, e.g., resolver nombres
www.yahoo.com - usado por (dirección/traducción de nombres)
humanos – nota: esta función central es
P: ¿Como mapear entre direcciones IP implementada como protocolo de
capa de aplicación
y nombres y vice versa ?
– Complejidad en la periferia de la
red. (routers no tienen información
de DNS)

16-07-2017 Catedra #6

DNS es uno de los protocolos de capa aplicación más usados pero del cual no somos conscientes de
ello. Esto es debido a que este protocolo es fundamental para la infraestructura que permite la
existencia de la web. No tan solo nos sirve para conocer la dirección IP asociada a un nombre o
dominio, pero también conocer cuál es el servidor SMTP asociado a un dominio, ubicación
geográfica de un servidor por nombrar solo alguno de diversos datos que podemos obtener de un
dominio.

En síntesis, el DNS no es más que una base de datos distribuida de nombres a direcciones IP y
viceversa.

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Componentes de un DNS

Hay tres componentes:


• Espacio de nombres:
Especificaciones para un espacio de nombres estructurado y
para los datos asociados con los nombres
• Resolvers:
Programa cliente que extrae la información desde un
servidor de nombres.
• Servidores de Nombres:
Programa servidor que mantiene la información y estructura
de los nombres

DNS: Espacio de Nombres


Root DNS Servers

… …

com DNS servers org DNS servers edu DNS servers

pbs.org poly.edu umass.edu


yahoo.com amazon.com
DNS servers DNS servers DNS servers
DNS servers DNS servers
cliente quiere IP de www.amazon.com; 1ra aprox:
• cliente consulta al root server para encontrar DNS server de .com
• cliente consulta DNS server de .com para obtener DNS server de
amazon.com
• cliente consulta DNS server de amazon.com para obtener dirección IP
para www.amazon.com

16-07-2017 Catedra #6

En el mundo hay al menos 13 servidores DNS, los cuales no conocen toda la informacion sobre
resolución de nombres en la web pero si conocen las direcciones IP de los servidor de alto nivel. Es
decir aquellos servidores responsables por dominios tales como el .com, .org, .fr , etc,

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
Resolvers

Un Resolver mapea un nombre en una direccion


y vice versa.

Query

Response

Resolver Servidor DNS

18

Un Cliente DNS (Resolver) realiza diversas consultas para resolver un nombre como en el ejemplo
que se señala en la siguiente diapositiva.

Resolucion Iterativa
a.root s
erver

a3.nstl a.gtld-
d.com server
5
Udel ns1.goo
server gle.com
7
3 iterative response (referral)
“I don't know. Try a.root-servers.net.”
iterative response (referral) 9
“I don't know. Try a.gtld-servers.net.”
1 iterative response (referral)
“I don't know. Try a3.nstld.com.”
iterative response (referral)
2 4 “I don't know. Try ns1.google.com.”
6 Respuesta iterativa
8 “La direccion IP de www.google.com
client 10 es 216.239.37.99.”
Petición iterativa
“¿Cual es la dirección IP de www.google.com?”
20

Primero un cliente le preguntara al DNS que obtiene luego de recibir esta informacion de un
servidor DHCP. Si este primer servidor DNS no conoce la respuesta, este le enviara la consulta a un
servidor raíz (root). Si este segundo servidor desconoce la respuesta, al menos le dirá al cliente quien
es el servidor TLD por el dominio .com a quien se le reenvía la consulta. Si este tercer servidor
tampoco puede resolver el nombre declarado, al menos responderá con la dirección IP del servidor

© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
DNS responsable por el dominio google.com. Finalmente este último servidor conoce la dirección IP
del servidor web de google y por tanto envía la respuesta al cliente.

Resumen Servicios de Capa Aplicación

Existen otros protocolos usados como telnet, POP3, IMAP que no son recomendados su uso debido a
que la ejecución de estos protocolos requiere el intercambio de datos confiables a través de la red
entre un cliente y un servidor. En estos protocolos no se exige proteger la confidencialidad de los
datos por ende algún host revisando el tráfico entre el cliente y un servidor podría capturar estos
datos.

Si deseas profundizar tus conocimientos sobre networking, un excelente libro es [1]. Si deseas un
análisis más acabado de las deficiencias de los protocolos de la Internet desde el punto de vista de la
seguridad te recomiendo el texto del profesor Douglas Jacobson [2

Referencias:

[1] Kurose and Ross “Computer Networking: A top down approach”, 5th Ed. Wiley, 2012.

[2] Jacobson “Introduction to Network Security”, 1st Ed. Chapman & Hall/CRC Computer and
Information Science Series, 2008.
© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados
© 2016 Patricio Galdames – IUT de Bayonne et du PaysBasque (UPPA) – Todos los derechos reservados

Potrebbero piacerti anche