Pauta Tarea 2 Redes de Computadores I 1-2011 6) Servicios como Google y YouTube poseen varios servidores para atender los servicios de un mismo sitio (www.google.cl y www.youtube.com respectivamente). (30 pts.) a) Explique de forma simple cómo usar un servidor DNS para balancear carga entre varias máquinas que ofrecen un mismo servicio. (20 pts.) Básicamente lo que se hace en el servidor DNS es configurarlo de manera que las distintas máquinas (IP) que ofrecerán el mismo servicio apunten al mismo dominio (o mismo alias, ‘CNAME’), en este caso Google o YouTube. Para ello en el servidor DNS se deben modificar una serie de archivos, pero solo se mostrará uno de los cuales tiene relevancia para esta pregunta (en el archivo de nombres directos, es donde se coloca el alias de la máquina, de la forma ‘.1 IN CNAME youtube.com’), que es donde se especifica que máquina responderá cuando se necesita acceder al dominio (WWW). El archivo de extensión ‘.zone’ es en el cual se añaden las máquinas que pertenecerán a la zona o grupo y a cuáles nombres de dominio responderán: www www www IN IN IN A A A 192.168.10.1 192.168.10.2 192.168.10.3 Luego para elegir a cuál servidor asignarle la petición, se usan algoritmos como Round Robin (RR) y Network Load Balancing (NLB). RR en sí no es un balanceador, ya que lo que hace es rotar los resultados que va ofreciendo a las consultas, por lo que no es equitativo. Se podría llamar un repartidor más que balanceador, por lo demás uno de los problemas que tiene es que si una de las IP a las que se apunta deja de funcionar, por un tiempo las peticiones no podrán ser eliminadas ni rechazadas, por lo que se perderán. En cuanto a NLB, si es un balanceador, ya que dentro de los servidores que componen el grupo, bajo un algoritmo ellos se comunican y deciden cuál debe ser la máquina que haga la petición. En este caso si una máquina deja de funcionar, inmediatamente es sacada del grupo, por lo que al momento de ejecutarse el algoritmo de balanceo, el resto de los servidores no la tomará en cuenta. Nota: No era necesario responder tan detalladamente, y no es la única solución. b) Muestre el resultado del siguiente comando al ser ejecutado en Aragorn: $ host www.youtube.com (10 pts.) rpinof@aragorn:~$ host www.youtube.com www.youtube.com is an alias for youtube-ui.l.google.com. youtube-ui.l.google.com has address 209.85.195.136 youtube-ui.l.google.com has address 209.85.195.190 youtube-ui.l.google.com has address 209.85.195.91 youtube-ui.l.google.com has address 209.85.195.93 Como se puede observar, www.youtube.com es un alias para youtube-ui.l.google.com. Existen otras máquinas las que pueden haber respondido a la solicitud del host, mostrando distintas IP’s. 11) Revise la Máquina de Estados Finita del transmisor para GBN (lámina 27 de Transp_3.4). Siga este diagrama y analice la operación de Go-Back-N en el escenario de la lámina 29 de Transp_3.4. Comente si encuentra alguna diferencia y qué cambio haría en la lámina 29 para que haya correspondencia, en ella indique claramente los instantes en que el timer es reiniciado. (40 pts.) Como se puede observar en la máquina de estados de la lámina 27, el timer se reinicia bajo tres condiciones: 1. Si luego de enviar un paquete el número de base es igual al siguiente número de secuencia, ya que esto implica que los paquetes anteriores han sido recibidos correctamente (ACK’s llegaron sin problemas). 2. Si el timer llega a timeout, luego de reiniciar el timer se hace la re-transmisión de los paquetes que no hayan recibido ACK, a partir del más antiguo (Base). 3. Si es que se recibe un ACK correctamente y aún quedan paquetes esperando por su ACK, el timer es reiniciado. Por lo tanto, el diagrama de la lámina 29, debiese modificarse en base a los tres puntos expuestos anteriormente, y según ellos, el evento de timeout debiese hacer referencia al último evento que reinició el timer, en este caso es el recibo del ACK del segundo paquete (ACK1). Quedando de la siguiente forma: Nota: Dependiendo de cómo hayan explicado las diferencias encontradas, pueden existir otros escenarios. 16) Revise el applet para Go-Back-N del sitio del texto guía. ¿Qué diferencia nota usted entre el comportamiento del applet y el modo de funcionamiento de Go-Back-N descrito en el texto? La gran diferencia es que en el applet se utiliza un timer por cada paquete enviado, en cambio el de los apuntes, solo utiliza un timer global. También se puede apreciar que cuando ocurre el evento de timeout se reinician todos los timers y luego se re-transmiten los paquetes que no han recibido su ACK a partir del timer del paquete que inicio el timeout. En el siguiente esquema se aprecia cómo trabaja el applet, timer de cada paquete, el timeout junto a la re-transmisión de paquetes, los ACK duplicados y como desecha los paquetes que ha recibido el receptor sin haber llegado el paquete anterior: (S) - Packet 0 sent (S) - Timer started for Packet 0 (S) - Packet 1 sent (S) - Timer started for Packet 1 (S) - Packet 2 sent (S) - Timer started for Packet 2 -Packet 2 selected. -Packet 2 lost (S) - Packet 3 sent (S) - Timer started for Packet 3 (S) - Packet 4 sent (S) - Timer started for Packet 4 (R) - Packet 0 received. Cumulative Ack for Packets up to and including 0 sent. Packet 0 delivered to application (R) - Packet 1 received. Cumulative Ack for Packets up to and including 1 sent. Packet 1 delivered to application (R) - Packet 3 received out of order. Dropping Packet 3. Cumulative Ack for Packets up to and including 1 sent (R) - Packet 4 received out of order. Dropping Packet 4. Cumulative Ack for Packets up to and including 1 sent (S) - Cumulative Ack received for Packet(s) up to and including 0 (S) - Timer(s) for Packet(s) up to and including 0 stopped (S) -Timer still running for Packet 1. (S) - Cumulative Ack received for Packet(s) up to and including 1 (S) - Timer(s) for Packet(s) up to and including 1 stopped (S) -Timer still running for Packet 2. (S) - Cumulative Ack for Packet(s) up to and including 1 received again (DUPACK) (S) - Cumulative Ack for Packet(s) up to and including 1 received again (DUPACK) (S) - Packet 5 sent (S) - Timer started for Packet 5 (S) - Packet 6 sent (S) - Timer started for Packet 6 (R) - Packet 5 received out of order. Dropping Packet 5. Cumulative Ack for Packets up to and including 1 sent (R) - Packet 6 received out of order. Dropping Packet 6. Cumulative Ack for Packets up to and including 1 sent (S) - Cumulative Ack for Packet(s) up to and including 1 received again (DUPACK) (S) - Cumulative Ack for Packet(s) up to and including 1 received again (DUPACK) (S) - Timeout occurred for Packet 2. (S) - All outstanding Packet(s) from 2 to 6 are retransmitted. Timer(s) restarted for Packet(s) (R) - Packet 2 received. Cumulative Ack for Packets up to and including 2 sent. Packet 2 delivered to application (R) - Packet 3 received. Cumulative Ack for Packets up to and including 3 sent. Packet 3 delivered to application (R) - Packet 4 received. Cumulative Ack for Packets up to and including 4 sent. Packet 4 delivered to application (R) - Packet 5 received. Cumulative Ack for Packets up to and including 5 sent. Packet 5 delivered to application (R) - Packet 6 received. Cumulative Ack for Packets up to and including 6 sent. Packet 6 delivered to application (S) - Cumulative Ack received for Packet(s) up to and including 2 (S) - Timer(s) for Packet(s) up to and including 2 stopped (S) - Cumulative Ack received for Packet(s) up to and including 3 (S) - Timer(s) for Packet(s) up to and including 3 stopped (S) - Cumulative Ack received for Packet(s) up to and including 4 (S) - Timer(s) for Packet(s) up to and including 4 stopped (S) - Cumulative Ack received for Packet(s) up to and including 5 (S) - Timer(s) for Packet(s) up to and including 5 stopped (S) - Cumulative Ack received for Packet(s) up to and including 6 (S) - Timer(s) for Packet(s) up to and including 6 stopped