You are on page 1of 18

SISTEMAS DISTRIBUIDOS

Sesión 05 – DNS, ARP, Sockets


DNS
Aplicación
DNS
 Domain Name System
 base de datos distribuida y jerárquica que
almacena información asociada a nombres de
dominio en redes como Internet
 El uso más común es la asignación de nombres de
dominio a direcciones IP
 google.com -> 209.85.225.105
 Componentes
 Cliente
 Servidor
 Zona de Autoridad
DNS
DNS
 Tipos de registros DNS
 A – google.com -> 209.85.225.105
 CNAME - docs.google.com -> writely.l.google.com
 NS – google.com -> ns1.google.com
 MX – google.com -> google.com.s9a2.psmtp.com
DNS
 nslookup
> google.com
Server: resolver1.opendns.com
Address: 208.67.222.222

Non-authoritative answer:
Name: google.com
Addresses: 209.85.225.106, 209.85.225.99,
209.85.225.103, 209.85.225.147
209.85.225.105, 209.85.225.104
DNS
 > set type=all
 > google.com
 Server: resolver1.opendns.com
 Address: 208.67.222.222

 Non-authoritative answer:
 google.com internet address = 209.85.225.99
 google.com internet address = 209.85.225.103
 google.com internet address = 209.85.225.147
 google.com internet address = 209.85.225.105
 google.com internet address = 209.85.225.104
 google.com internet address = 209.85.225.106
 google.com MX preference = 200, mail exchanger = google.com.s9a2.psmtp.com
 google.com MX preference = 300, mail exchanger = google.com.s9b1.psmtp.com
 google.com MX preference = 100, mail exchanger = google.com.s9a1.psmtp.com
 google.com MX preference = 400, mail exchanger = google.com.s9b2.psmtp.com
 google.com nameserver = ns1.google.com
 google.com nameserver = ns2.google.com
 google.com nameserver = ns3.google.com
 google.com nameserver = ns4.google.com
DNS
 > google.com ns1.google.com  google.com text =
 Server: ns1.google.com
 Address: 216.239.32.10  "v=spf1 include:_netblocks.google.com
ip4:216.73.93.70/31 ip4:216.73.93.
 72/31 ~all"
 google.com internet address =
74.125.227.20  google.com nameserver = ns3.google.com
 google.com internet address =  google.com
74.125.227.18
 primary name server = ns1.google.com
 google.com internet address =
74.125.227.17  responsible mail addr = dns-
admin.google.com
 google.com internet address =
74.125.227.16  serial = 1425952
 google.com internet address =  refresh = 7200 (2 hours)
74.125.227.19  retry = 1800 (30 mins)
 google.com nameserver = ns4.google.com  expire = 1209600 (14 days)
 google.com MX preference = 300, mail  default TTL = 300 (5 mins)
exchanger = google.com.s9b1.psmtp.com
 google.com MX preference = 200, mail
exchanger = google.com.s9a2.psmtp.com
 google.com nameserver = ns2.google.com
 google.com MX preference = 100, mail
exchanger = google.com.s9a1.psmtp.com
 google.com nameserver = ns1.google.com
 google.com MX preference = 400, mail
exchanger = google.com.s9b2.psmtp.com
ARP
Red
ARP
 Addres Resolution Protocol
 responsable de encontrar la dirección hardware
(MAC) que corresponde a una determinada
dirección IP
 se envía un paquete (ARP request) a la dirección
de difusión de la red que contiene la dirección
IP por la que se pregunta
 se espera a que esa máquina (u otra) responda
(ARP reply) con la dirección Ethernet que le
corresponde
 Cada máquina mantiene una caché con las
direcciones traducidas para reducir el retardo y la
carga
ARP
arp -a

Interface: 192.168.0.102 --- 0x2


Internet Address Physical Address Type
192.168.0.1 00-26-5a-b2-60-58 dynamic
192.168.0.103 00-25-00-41-13-7e dynamic
SOCKETS
SOCKETS
 concepto abstracto por el cual dos programas
pueden intercambiar cualquier flujo de datos
 Posiblemente en equipos separados físicamente
 Un socket queda definido por una dirección IP, un
protocolo de transporte y un número de puerto
 TCP 192.168.0.1:2345
 Para que dos programas puedan comunicarse
entre sí es necesario que se cumplan ciertos
requisitos:
 Que un programa sea capaz de localizar al otro.
 Que ambos programas sean capaces de
intercambiarse cualquier secuencia datos relevantes
a su finalidad
SOCKETS
 Para ello son necesarios los tres recursos que
originan el concepto de socket:
 Un protocolo de comunicaciones, que permite el
intercambio de octetos
 Una dirección del Protocolo de Red, que identifica
una computadora
 Un número de puerto, que identifica a un programa
dentro de una computadora
SOCKETS
 Existen básicamente dos tipos de sockets
 los orientados a conexión
 ambos programas deben conectarse entre ellos con un
socket
 hasta que no esté establecida correctamente la conexión,

ninguno de los dos puede transmitir datos.


 Protocolo TCP

 los no orientados a conexión


 no es necesario que los programas se conecten
 Cualquiera de ellos puede transmitir datos en cualquier

momento, independientemente de que el otro programa


esté "escuchando" o no
 protocolo UDP
SOCKETS
 Arquitectura cliente – servidor
 Servidor
 Debe estar arrancado y en espera de que otro quiera
conectarse a él
 Nunca da "el primer paso" en la conexión

 tiene la información y la "sirve" al que se la pida

 Ej: Apache

 Cliente
 es el que da el primer paso
 Solicita la información para procesarla

 Ej: Firefox
SOCKETS
 Operaciones de sockets TCP
 Servidor
 Apertura de un socket [socket()]
 Avisar al sistema operativo [bind()]

 atender dicha conexión [listen()]

 aceptar las conexiones [accept()]

 Escribir y leer datos [write(), read()]

 Cierre de la comunicación [close()]

 Cliente
 Apertura de un socket [socket()]
 Solicitar conexión [connect()]

 Escribir y leer datos [write(), read()]

 Cierre de la comunicación [close()]


SOCKETS
 Operaciones de sockets UDP
 Servidor
 Abrir un socket [socket()]
 Asociar un socket a un puerto [bind()]

 Leer mensaje [recvfrom()]

 Responder mensaje [sendto]

 Cliente
 Abrir un socket [socket()]
 Asociar un socket a un puerto [bind()]

 Enviar mensaje [sendto]

 Leer respuesta [recvfrom()]

You might also like