1 #LyX 1.3 created this file. For more info see http://www.lyx.org/
11 \paperpackage widemarginsa4
15 \use_numerical_citations 0
16 \paperorientation portrait
19 \paragraph_separation indent
21 \quotes_language english
29 Introducción a los Sistemas Distribuídos (74.43)
40 Lucarella, Leandro (77.891)
46 \begin_inset LatexCommand \tableofcontents{}
59 El protocolo PPP es muy utilizado para establecer una comunicación entre
60 2 redes (routers), ya sea entre LANs o entre una LAN y WAN u otras redes
62 Incluso es útil para comunicar un sólo host a una red distante (donde no
63 sería viable tender un cable o utilizar un medio inalámbrico).
64 Al poder ser montado sobre líneas telefónicas conmutadas, este protocolo
65 fue (y es) muy utilizado para proveer acceso a internet.
72 \begin_inset Float figure
79 \begin_inset LatexCommand \label{cap:Diagrama-de-estados-ppp}
83 Diagrama de estados de una conexión PPP
96 Lo primero que debe hacer el protocolo es establecer una conexión física
97 entre las dos puntas de la comunicación, para esto debe discar el número
98 si se utiliza sobre una línea telefónica conmutada, para establecer el
100 Una vez establecido el canal, empieza a actuar el LCP (Link Control Protocol)
101 que negocia, enviando frames PPP, los parámetros de la conexión.
102 Una vez acordados estos parámetros, puede realizarse una etapa de autenticación
103 , para verificar la identidad de las puntas y así permitir o no que la comunicac
105 Finalmente, si todo resultó bien, se envía una serie de paquetes NCP (Network
106 Control Protocol) para configurar la capa de red (como la dirección IP,
107 si se quisiera utilizar el protocolo TCP/IP en dicha capa).
110 En este momento las dos puntas de la conexión están comunicadas y pueden
111 realizar todas sus tareas como si estuvieran conectadas en una LAN.
114 Un vez finalizado, se procede prácticamente de forma inversa a como se estableci
115 ó la conexión para liberarla.
116 Primero se libera la IP a través del procotocolo NCP, luego se libera el
117 enlace cerrando la conexión de la capa LCP y finalmente se cierra la conexión
118 física (se corta el módem), si fuera necesario.
121 Se puede ver un diagrama de estados de este proceso en la figura
122 \begin_inset LatexCommand \vref{cap:Diagrama-de-estados-ppp}
132 Entre las cosas que se pueden configurar (negociando a través del protocolo
133 LCP) está el tamaño de la cabecera del frame (ya que los campos
141 generalmente son fijos y pueden evitarse, el campo
145 puede ser de 1 o 2 bytes y el
149 de 2 o 4) y el máximo tamaño del
154 Estos parámetros se establecen con valores por omisión para poder ser negociado
155 s luego con el protocolo LCP.
158 El protocolo NCP es muy específico sobre qué protocolo de red se quiera
159 negociar, por lo que es muy difícil hablar en términos generales de él.
160 Para el caso más común, donde se configura una capa de red IP, se utiliza
161 el protocolo IPCP (IP Control Protocol) cuya tarea se limita prácticamente
162 a la asignación de la IP (aunque puede negociar compresión de cabeceras
164 Hay también extensiones, como la extensión para configurar servidores de
165 nombre (definido en la RFC 1877
166 \begin_inset Quotes eld
169 PPP Internet Protocol Control Protocol Extensions for Name Server Addresses
170 \begin_inset Quotes erd
176 Configuración de los routes sobre línea dedicada
177 \layout Subsubsection
182 Lo primero que hay que hacer si utilizamos un modem sobre una línea telefónica
183 conmutada, es establecer el canal de la capa física.
184 Esto significa que una de las puntas debe discar el número de la otra y
185 establecer el canal utilizando algún programa de comunicación que permita
194 , con el que podemos hacerlo utilizando la combinación de teclas
201 Con el canal establecido, ejecutamos en ambas puntas el comando:
204 pppd -detach <IP local>:<IP remota> /dev/ttyS<N> <baudios> &
211 es la IP que se usará en la punta donde se ejectuta el comando,
219 el número de puerto serie (empezando de 0, que equivaldría al puerto más
220 conocido como COM1) y
224 la velocidad en baudios del puerto serie.
225 Recordemos que estamos usando como NCP al protocolo IPCP, para establecer
229 Esta es una forma muy precaria y no autenticada de establecer la conexión
231 La forma correcta sería dejando que una de las puntas actúe como
239 Técnicamente no es un servidor, ya que no existe tal cosa en el protocolo
240 PPP (en el que ambas puntas son pares), pero suele utilizarse este término
241 para la punta que recibe las llamadas, las atiende y asigna IPs.
246 PPP, encargándose de atender a la llamada entrante automáticamente, autenticand
247 o y asignando la IP a la otra punta, pero esta configuración es bastante
248 más compleja y poco realizable en el laboratorio.
249 \layout Subsubsection
251 Sin modems (null modems)
254 En ambas puntas de la conexión via null modem hay que ejecutar el siguiente
258 pppd -detach crtscts lock <IP local>:<IP remota> /dev/ttyS<N> <baudios>
266 es la IP que se usará en la punta donde se ejectuta el comando,
274 el número de puerto serie (empezando de 0, que equivaldría al puerto más
275 conocido como COM1) y
279 la velocidad en baudios del puerto serie.
280 Recordemos que estamos usando como NCP al protocolo IPCP, para establecer
284 Esto no establece ninguna tabla de ruteo, por lo que hay que cargarlas a
285 mano en caso de ser un router o de querer especificar un
289 en alguna de las puntas.
290 También es probable que haya que configurar los parámetros del puerto serie
295 , de manera tal que ambas puntas tenga los mismos parámetros (como paridad,
303 \begin_inset Float figure
310 \begin_inset LatexCommand \label{cap:Diagrama-de-la-red}
318 \begin_inset Graphics
319 filename diagrama.eps
328 Las tablas de ruteo se adjuntan en el Anexo.
329 Puede verse un diagrama de la red con sus respectivos routers y sus interfaces
331 \begin_inset LatexCommand \vref{cap:Diagrama-de-la-red}
338 Tablas de ruteo (simulación)
342 \begin_inset Float figure
349 \begin_inset LatexCommand \label{cap:Diagrama-de-la-simulacion}
353 Diagrama de la simulación
357 \begin_inset Graphics
358 filename red_labo.eps
367 Las tablas de ruteo de la simulación se adjuntan en el Anexo.
368 Puede verse un diagrama de la red con sus respectivos routers y sus interfaces
370 \begin_inset LatexCommand \vref{cap:Diagrama-de-la-simulacion}
377 Análisis de la captura HTTP
380 Registro de un nuevo usuario
381 \layout Subsubsection
386 Requirió para cargar el
390 16 mensajes HTTP, 8 GET y 7 respuestas 200 (OK) y 1 404 (NOT FOUND), correspond
391 ientes a dichos mensajes.
392 Los 8 GET fueron para pedir los siguientes archivos:
424 (que devolvió NOT FOUND).
425 Para la página específica de registro de un usuario (el formulario) solo
426 requirió 2 mensajes HTTP (GET y su respuesta) ya que las imágenes ya las
427 tenía en el cache el navegador.
428 Una vez presionado el botón de ENVIAR se observan 4 mensajes más HTTP,
429 primero un POST para enviar los datos del formulario al servidor, luego
430 su correspondiente respuesta 200 (OK).
431 Finalmente se vuelve a cargar el
435 para lo que se utilizan 2 mensajes más (GET y su respuesta 200).
436 Nuevamente observamos que como las imágenes están en el cache, no se vuelven
438 \layout Subsubsection
443 Lo primero que se observa son 3 segmentos para establecer la conexión (SYN
444 y ACK), luego por cada mensaje HTTP se observa al menos 2 segmentos TCP,
445 el que lleva el mensaje HTTP y el ACK que confirma la recepción de dicho
447 Además, si el mensaje HTTP es mayor a algo menos de 1500 bytes (tamaño
448 del MTU de ethernet), se observa la fragmentación y por cada fragmento
449 se generan 2 nuevos segmentos TCP (nuevamente uno que lleva el fragmento
450 de mensaje HTTP y el ACK correspondiente).
451 Finalmente se observan 4 segmentos TCP para la desconexión (FIN y ACK).
454 Para obtener el index.php y sus imágenes se observa que se hace todo en la
455 misma conexión, pero al estar ociosa durante un tiempo el servidor http
456 pide la desconexión y cuando se va a cargar la siguiente página vuelve
457 a iniciar una nueva conexión.
460 En total se observaron 4 conexiones:
463 index.php+imagenes: 53 segmentos (incluyendo 3 segmentos de conexión y 4
467 index.php?NuevoUsuario: 27 segmentos (incluyendo 3 segmentos de conexión
471 index.php?GuardarUsuario+index.php: 97 segmentos (incluyendo 3 segmentos de
472 conexión y 4 de desconexión)
476 \layout Subsubsection
481 Al ser el protocolo IP el transporte de los segmentos TCP, se observa que
482 para cada segmento, hay un paquete IP que lo transporta (incluyendo los
483 segmentos de control, como SYN y ACK).
484 No hay otro tipo de paquete IP que no este asociado a un segmento TCP.
487 Cantidad de paquetes IP: 177
488 \layout Subsubsection
493 Al ser el protocolo ethernet el transporte de los paquetes IP, se observa
494 que para cada paquete, hay un frame ethernet que lo transporta.
495 En esta actividad no se aprecia otro tipo de frame ethernet que no este
496 asociado a un paquete IP.
499 Cantidad de frames ethernet: 177
502 Nueva pregunta de la FAQ
505 A partir de ahora sólo enumeraremos la cantidad de
509 y mencionaremos si hay alguna diferencia con la actividad anterior, ya
510 que la mecánica es muy similar.
511 \layout Subsubsection
516 12 mensajes en total:
519 GET /~luca/foro/index.php?module=faqs&accion=AgregarPregunta HTTP/1.1
522 HTTP/1.1 200 OK (text/html)
525 GET /favicon.ico HTTP/1.1
528 HTTP/1.1 404 Not Found (text/html)
531 POST /~luca/foro/index.php?module=faqs&accion=guardarpregunta HTTP/1.1
534 HTTP/1.1 200 OK (text/html)
537 GET /~luca/foro/index.php?module=faqs HTTP/1.1
540 HTTP/1.1 200 OK (text/html)
543 GET /~luca/foro/avatars/phpQe1MqS HTTP/1.1
546 HTTP/1.1 304 Not Modified
549 GET /favicon.ico HTTP/1.1
552 HTTP/1.1 404 Not Found (text/html)
553 \layout Subsubsection
560 index.php?module=faqs&accion=AgregarPregunta
562 se reutiliza una conexión previa así que no hay SYN y se utilizan 10 segmentos
563 TCP (incluyendo los 4 de la desconexión).
568 se reutilizó otra conexión diferente, por lo cual tampoco se presentan
569 los segmentos de conexión.
570 En ésta se utilizan 8 segmentos TCP (incluyendo la desconexión).
571 Finalmente el envío de los datos se realiza todo en una nueva conexión
572 que se compone de 88 segmentos TCP (incluyendo conexión y desconexión).
573 \layout Subsubsection
578 En total se utilizan 106 paquetes IP.
579 \layout Subsubsection
584 En total se utilizan 106 frames ethernet.
588 \layout Subsubsection
593 GET /~luca/foro/index.php?module=faqs&accion=NuevaRespuesta&idpreg=1 HTTP/1.1
596 HTTP/1.1 200 OK (text/html)
599 GET /favicon.ico HTTP/1.1
602 HTTP/1.1 404 Not Found (text/html)
605 POST /~luca/foro/index.php?module=faqs&accion=guardarrespuesta HTTP/1.1
608 HTTP/1.1 200 OK (text/html)
611 GET /~luca/foro/index.php?module=faqs&accion=Mostrarrespuestas&idpreg=1 HTTP/1.1
614 HTTP/1.1 200 OK (text/html)
617 GET /~luca/foro/avatars/phpQe1MqS HTTP/1.1
620 HTTP/1.1 304 Not Modified
623 GET /~luca/foro/avatars/phpGifOBK HTTP/1.1
626 HTTP/1.1 304 Not Modified
629 GET /favicon.ico HTTP/1.1
632 HTTP/1.1 404 Not Found (text/html)
635 Total: 14 mensajes HTTP
636 \layout Subsubsection
643 index.php?module=faqs&accion=NuevaRespuesta&idpreg=1
645 : 10 (reutiliza conexión, incluye desconexión)
652 : 7 (reutiliza conexión, incluye desconexión)
655 Resto: 31 (incluye conexión y desconexión)
656 \layout Subsubsection
661 Total: 48 paquetes IP.
662 \layout Subsubsection
667 Total: 48 frames ethernet.
670 Análisis de la captura FTP
676 La captura fue realizada transfiriendo un archivo binario de 1.9 Mb, llamado
677 db4o-4.5-mono.tar.gz.
678 Para la transferencia se han intercambiado 16 mensajes FTP 8 response y
682 Lo primero que se recibe es el response del server dando su identificacion
684 Luego un request del comando USER y la respuesta del servidor diciendo
685 que se necesita password para dicho usuario.
686 El siguiente comando es PASS con el que se envia el password y recibimos
687 la respuesta de que estamos loggeados.
690 El cliente envía un SYST para saber el tipo de sistema que hay del otro
691 lado, a lo que el server responde UNIX Type: L8.
692 Luego se cambia el tipo de modo de transferencia con TYPE y a continuación
693 se hace un PORT para establecer un canal de comunicación.
696 Como último comando se envía RETR para traer un archivo, luego recibimos
697 una respuesta de que se estableció un canal binario y por último un response
698 cuando se completo la transferencia.
701 También se registraron 1346 paquetes FTP-DATA intercambiados durante la
702 transferencia del archivo.
703 Once de dichos paquetes correspondieron a paquetes de control conteniendo
704 TCP Previous segment lost.
705 El resto corresponden a envío de 1448 bytes de datos transferidos.
711 Lo primero que se observa son 3 segmentos para establecer la conexión (SYN
712 y ACK) entre un puerto alto (35631) y el puerto FTP del server.
713 Luego 2 paquetes para la autenticación de usuario y a continuación está
714 la negociación del puerto y el comando RETR usando 34 segmentos.
717 Sigue a continuación la transferencia del archivo entre el puerto ftp-data
718 del servidor y el puerto local 32985.
721 La transferencia consume 1466 paquetes, de los cuales tenemos algunos de
723 Hay 112 ACK, 5 paquetes TCP ACKed lost segment y 3 de TCP Window Update.
726 La comunicación termina con 11 segmentos TCP.
732 En total se utilizan 1516 paquetes IP.
738 En total se utilizan 1516 frames ethernet.
741 Análisis de la captura Telnet
744 Se realizó la captura al inicio de una conexión mediante telnet al servidor
745 donde se encontraba el archivo RFC792 al cual se le modificaron 5 líneas
746 (una en cada hoja) se lo guardó y luego se desconecto del servidor cerrando
753 Se contaron en total 717 mensajes telnet, donde en su mayoría contenían
754 cada uno de ellos, un caracter correspondiente a una tecla presionada y
755 en algunas ocasiones líneas completas transmitidas por el servidor hacia
757 Tambíen se puede notar que los primeros mensajes pertenecen a la negociación
758 del protocolo e intercambio de parámetros.
764 Como en los protocolos anteriores se puede observar que se utilizan 3 segmentos
765 para establecer la conexión (SYN, ACK), y que todos los mensajes telnet
766 van montados en un segmento TCP.
767 Por lo tanto tendremos tantos segmentos TCP como mensajes de telnet haya
768 sumando además los segmentos TCP de control, en total 1005 segmentos fueron
776 Cada segmento TCP va acompañado por un paquete IP, en total 1005 paquetes
783 Analogamente al caso anterior, podemos observar 1005 frames ethernet.