]> git.llucax.com Git - z.facultad/75.43/tp2.git/blob - Informe.lyx
Agrego grupo y mi padrón (agreguen el suyo!).
[z.facultad/75.43/tp2.git] / Informe.lyx
1 #LyX 1.3 created this file. For more info see http://www.lyx.org/
2 \lyxformat 221
3 \textclass article
4 \language spanish
5 \inputencoding auto
6 \fontscheme palatino
7 \graphics default
8 \paperfontsize default
9 \spacing single 
10 \papersize a4paper
11 \paperpackage widemarginsa4
12 \use_geometry 0
13 \use_amsmath 0
14 \use_natbib 0
15 \use_numerical_citations 0
16 \paperorientation portrait
17 \secnumdepth 3
18 \tocdepth 3
19 \paragraph_separation indent
20 \defskip medskip
21 \quotes_language english
22 \quotes_times 2
23 \papercolumns 1
24 \papersides 1
25 \paperpagestyle fancy
26
27 \layout Title
28
29 Introducción a los Sistemas Distribuídos (74.43)
30 \newline 
31 Trabajo Práctico 2
32 \layout Author
33
34 Grupo 13
35 \newline 
36
37 \newline 
38 Dimov, Nicolás
39 \newline 
40 Lucarella, Leandro (77.891)
41 \newline 
42 Markiewicz, Ricardo
43 \layout Standard
44
45
46 \begin_inset LatexCommand \tableofcontents{}
47
48 \end_inset 
49
50
51 \layout Section
52
53 Protocolo PPP
54 \layout Subsection
55
56 Introducción
57 \layout Standard
58
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
61  más grandes.
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.
66 \layout Subsection
67
68 Protocolo
69 \layout Standard
70
71
72 \begin_inset Float figure
73 wide false
74 collapsed true
75
76 \layout Caption
77
78
79 \begin_inset LatexCommand \label{cap:Diagrama-de-estados-ppp}
80
81 \end_inset 
82
83 Diagrama de estados de una conexión PPP
84 \layout Standard
85
86
87 \begin_inset Graphics
88         filename ppp.eps
89         scale 65
90
91 \end_inset 
92
93
94 \end_inset 
95
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
99  canal.
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
104 ión se establezca.
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).
108 \layout Standard
109
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.
112 \layout Standard
113
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.
119 \layout Standard
120
121 Se puede ver un diagrama de estados de este proceso en la figura 
122 \begin_inset LatexCommand \vref{cap:Diagrama-de-estados-ppp}
123
124 \end_inset 
125
126 .
127 \layout Subsection
128
129 Configuración
130 \layout Standard
131
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 
134 \emph on 
135 address
136 \emph default 
137  y 
138 \emph on 
139 control
140 \emph default 
141  generalmente son fijos y pueden evitarse, el campo 
142 \emph on 
143 protocol
144 \emph default 
145  puede ser de 1 o 2 bytes y el 
146 \emph on 
147 checksum
148 \emph default 
149  de 2 o 4) y el máximo tamaño del 
150 \emph on 
151 payload
152 \emph default 
153  del frame.
154  Estos parámetros se establecen con valores por omisión para poder ser negociado
155 s luego con el protocolo LCP.
156 \layout Standard
157
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
163  también).
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
167 \end_inset 
168
169 PPP Internet Protocol Control Protocol Extensions for Name Server Addresses
170 \begin_inset Quotes erd
171 \end_inset 
172
173 ).
174 \layout Subsection
175
176 Configuración de los routes sobre línea dedicada
177 \layout Subsubsection
178
179 Con modems
180 \layout Standard
181
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
186  salir sin 
187 \emph on 
188 resetear
189 \emph default 
190  el modem (como 
191 \family typewriter 
192 minicom
193 \family default 
194 , con el que podemos hacerlo utilizando la combinación de teclas 
195 \family typewriter 
196 ALT-Q
197 \family default 
198 ).
199 \layout Standard
200
201 Con el canal establecido, ejecutamos en ambas puntas el comando:
202 \layout LyX-Code
203
204 pppd -detach <IP local>:<IP remota> /dev/ttyS<N> <baudios> &
205 \layout Standard
206
207 Donde 
208 \family typewriter 
209 <IP local>
210 \family default 
211  es la IP que se usará en la punta donde se ejectuta el comando, 
212 \family typewriter 
213 <IP remota>
214 \family default 
215  la IP del par, 
216 \family typewriter 
217 <N>
218 \family default 
219  el número de puerto serie (empezando de 0, que equivaldría al puerto más
220  conocido como COM1) y 
221 \family typewriter 
222 <baudios>
223 \family default 
224  la velocidad en baudios del puerto serie.
225  Recordemos que estamos usando como NCP al protocolo IPCP, para establecer
226  una capa de red IP.
227 \layout Standard
228
229 Esta es una forma muy precaria y no autenticada de establecer la conexión
230  PPP.
231  La forma correcta sería dejando que una de las puntas actúe como 
232 \emph on 
233 servidor
234 \begin_inset Foot
235 collapsed true
236
237 \layout Standard
238
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.
242 \end_inset 
243
244
245 \emph default 
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
250
251 Sin modems (null modems)
252 \layout Standard
253
254 En ambas puntas de la conexión via null modem hay que ejecutar el siguiente
255  comando:
256 \layout LyX-Code
257
258 pppd -detach crtscts lock <IP local>:<IP remota> /dev/ttyS<N> <baudios>
259  &
260 \layout Standard
261
262 Donde 
263 \family typewriter 
264 <IP local>
265 \family default 
266  es la IP que se usará en la punta donde se ejectuta el comando, 
267 \family typewriter 
268 <IP remota>
269 \family default 
270  la IP del par, 
271 \family typewriter 
272 <N>
273 \family default 
274  el número de puerto serie (empezando de 0, que equivaldría al puerto más
275  conocido como COM1) y 
276 \family typewriter 
277 <baudios>
278 \family default 
279  la velocidad en baudios del puerto serie.
280  Recordemos que estamos usando como NCP al protocolo IPCP, para establecer
281  una capa de red IP.
282 \layout Standard
283
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 
286 \emph on 
287 default gateway
288 \emph default 
289  en alguna de las puntas.
290  También es probable que haya que configurar los parámetros del puerto serie
291  con el comando 
292 \family typewriter 
293 setserial
294 \family default 
295 , de manera tal que ambas puntas tenga los mismos parámetros (como paridad,
296  baudios, etc).
297 \layout Section
298
299 Tablas de ruteo
300 \layout Standard
301
302
303 \begin_inset Float figure
304 wide false
305 collapsed true
306
307 \layout Caption
308
309
310 \begin_inset LatexCommand \label{cap:Diagrama-de-la-red}
311
312 \end_inset 
313
314 Diagrama de la red
315 \layout Standard
316
317
318 \begin_inset Graphics
319         filename diagrama.eps
320         scale 62
321         keepAspectRatio
322
323 \end_inset 
324
325
326 \end_inset 
327
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
330  en la figura 
331 \begin_inset LatexCommand \vref{cap:Diagrama-de-la-red}
332
333 \end_inset 
334
335 .
336 \layout Section
337
338 Tablas de ruteo (simulación)
339 \layout Standard
340
341
342 \begin_inset Float figure
343 wide false
344 collapsed true
345
346 \layout Caption
347
348
349 \begin_inset LatexCommand \label{cap:Diagrama-de-la-simulacion}
350
351 \end_inset 
352
353 Diagrama de la simulación
354 \layout Standard
355
356
357 \begin_inset Graphics
358         filename red_labo.eps
359         scale 62
360         keepAspectRatio
361
362 \end_inset 
363
364
365 \end_inset 
366
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
369  en la figura 
370 \begin_inset LatexCommand \vref{cap:Diagrama-de-la-simulacion}
371
372 \end_inset 
373
374 .
375 \layout Section
376
377 Análisis de la captura HTTP
378 \layout Subsection
379
380 Registro de un nuevo usuario
381 \layout Subsubsection
382
383 Mensajes HTTP
384 \layout Standard
385
386 Requirió para cargar el 
387 \family typewriter 
388 index.php
389 \family default 
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: 
393 \family typewriter 
394 index.php
395 \family default 
396
397 \family typewriter 
398 styles.css
399 \family default 
400
401 \family typewriter 
402 funciones.js
403 \family default 
404
405 \family typewriter 
406 groso.gif
407 \family default 
408
409 \family typewriter 
410 dimov.jpg
411 \family default 
412
413 \family typewriter 
414 rmarkie.jpg
415 \family default 
416
417 \family typewriter 
418 logo.png
419 \family default 
420  y 
421 \family typewriter 
422 favicon.ico
423 \family default 
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 
432 \family typewriter 
433 index.php
434 \family default 
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
437  a pedir por HTTP.
438 \layout Subsubsection
439
440 Segmentos TCP
441 \layout Standard
442
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
446  mensaje.
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).
452 \layout Standard
453
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.
458 \layout Standard
459
460 En total se observaron 4 conexiones:
461 \layout Standard
462
463 index.php+imagenes: 53 segmentos (incluyendo 3 segmentos de conexión y 4
464  de desconexión)
465 \layout Standard
466
467 index.php?NuevoUsuario: 27 segmentos (incluyendo 3 segmentos de conexión
468  y 4 de desconexión)
469 \layout Standard
470
471 index.php?GuardarUsuario+index.php: 97 segmentos (incluyendo 3 segmentos de
472  conexión y 4 de desconexión)
473 \layout Standard
474
475 Total 177 segmentos
476 \layout Subsubsection
477
478 Paquetes IP
479 \layout Standard
480
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.
485 \layout Standard
486
487 Cantidad de paquetes IP: 177
488 \layout Subsubsection
489
490 Frames Ethernet
491 \layout Standard
492
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.
497 \layout Standard
498
499 Cantidad de frames ethernet: 177
500 \layout Subsection
501
502 Nueva pregunta de la FAQ
503 \layout Standard
504
505 A partir de ahora sólo enumeraremos la cantidad de 
506 \emph on 
507 paquetes
508 \emph default 
509  y mencionaremos si hay alguna diferencia con la actividad anterior, ya
510  que la mecánica es muy similar.
511 \layout Subsubsection
512
513 Mensajes HTTP
514 \layout Standard
515
516 12 mensajes en total:
517 \layout LyX-Code
518
519 GET /~luca/foro/index.php?module=faqs&accion=AgregarPregunta HTTP/1.1
520 \layout LyX-Code
521
522 HTTP/1.1 200 OK (text/html)
523 \layout LyX-Code
524
525 GET /favicon.ico HTTP/1.1
526 \layout LyX-Code
527
528 HTTP/1.1 404 Not Found (text/html)
529 \layout LyX-Code
530
531 POST /~luca/foro/index.php?module=faqs&accion=guardarpregunta HTTP/1.1
532 \layout LyX-Code
533
534 HTTP/1.1 200 OK (text/html)
535 \layout LyX-Code
536
537 GET /~luca/foro/index.php?module=faqs HTTP/1.1
538 \layout LyX-Code
539
540 HTTP/1.1 200 OK (text/html)
541 \layout LyX-Code
542
543 GET /~luca/foro/avatars/phpQe1MqS HTTP/1.1
544 \layout LyX-Code
545
546 HTTP/1.1 304 Not Modified
547 \layout LyX-Code
548
549 GET /favicon.ico HTTP/1.1
550 \layout LyX-Code
551
552 HTTP/1.1 404 Not Found (text/html)
553 \layout Subsubsection
554
555 Segmentos TCP
556 \layout Standard
557
558 Para 
559 \family typewriter 
560 index.php?module=faqs&accion=AgregarPregunta
561 \family default 
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).
564  Para obtener el 
565 \family typewriter 
566 favicon.ico
567 \family default 
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
574
575 Paquetes IP
576 \layout Standard
577
578 En total se utilizan 106 paquetes IP.
579 \layout Subsubsection
580
581 Frames Ethernet
582 \layout Standard
583
584 En total se utilizan 106 frames ethernet.
585 \layout Subsection
586
587 Respuesta de una FAQ
588 \layout Subsubsection
589
590 Mensajes HTTP
591 \layout LyX-Code
592
593 GET /~luca/foro/index.php?module=faqs&accion=NuevaRespuesta&idpreg=1 HTTP/1.1
594 \layout LyX-Code
595
596 HTTP/1.1 200 OK (text/html)
597 \layout LyX-Code
598
599 GET /favicon.ico HTTP/1.1
600 \layout LyX-Code
601
602 HTTP/1.1 404 Not Found (text/html)
603 \layout LyX-Code
604
605 POST /~luca/foro/index.php?module=faqs&accion=guardarrespuesta HTTP/1.1
606 \layout LyX-Code
607
608 HTTP/1.1 200 OK (text/html)
609 \layout LyX-Code
610
611 GET /~luca/foro/index.php?module=faqs&accion=Mostrarrespuestas&idpreg=1 HTTP/1.1
612 \layout LyX-Code
613
614 HTTP/1.1 200 OK (text/html)
615 \layout LyX-Code
616
617 GET /~luca/foro/avatars/phpQe1MqS HTTP/1.1
618 \layout LyX-Code
619
620 HTTP/1.1 304 Not Modified
621 \layout LyX-Code
622
623 GET /~luca/foro/avatars/phpGifOBK HTTP/1.1
624 \layout LyX-Code
625
626 HTTP/1.1 304 Not Modified
627 \layout LyX-Code
628
629 GET /favicon.ico HTTP/1.1
630 \layout LyX-Code
631
632 HTTP/1.1 404 Not Found (text/html)
633 \layout Standard
634
635 Total: 14 mensajes HTTP
636 \layout Subsubsection
637
638 Segmentos TCP
639 \layout Standard
640
641 Conexión de 
642 \family typewriter 
643 index.php?module=faqs&accion=NuevaRespuesta&idpreg=1
644 \family default 
645 : 10 (reutiliza conexión, incluye desconexión)
646 \layout Standard
647
648 Conexión 
649 \family typewriter 
650 favicon.ico
651 \family default 
652 : 7 (reutiliza conexión, incluye desconexión)
653 \layout Standard
654
655 Resto: 31 (incluye conexión y desconexión)
656 \layout Subsubsection
657
658 Paquetes IP
659 \layout Standard
660
661 Total: 48 paquetes IP.
662 \layout Subsubsection
663
664 Frames Ethernet
665 \layout Standard
666
667 Total: 48 frames ethernet.
668 \layout Section
669
670 Análisis de la captura FTP
671 \layout Subsection
672
673 Mensajes FTP
674 \layout Standard
675
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
679  6 requests.
680 \layout Standard
681
682 Lo primero que se recibe es el response del server dando su identificacion
683  (hostname).
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.
688 \layout Standard
689
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.
694 \layout Standard
695
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.
699 \layout Standard
700
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.
706 \layout Subsection
707
708 Segmentos TCP
709 \layout Standard
710
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.
715 \layout Standard
716
717 Sigue a continuación la transferencia del archivo entre el puerto ftp-data
718  del servidor y el puerto local 32985.
719 \layout Standard
720
721 La transferencia consume 1466 paquetes, de los cuales tenemos algunos de
722  control.
723  Hay 112 ACK, 5 paquetes TCP ACKed lost segment y 3 de TCP Window Update.
724 \layout Standard
725
726 La comunicación termina con 11 segmentos TCP.
727 \layout Subsection
728
729 Paquetes IP
730 \layout Standard
731
732 En total se utilizan 1516 paquetes IP.
733 \layout Subsection
734
735 Frames Ethernet
736 \layout Standard
737
738 En total se utilizan 1516 frames ethernet.
739 \layout Section
740
741 Análisis de la captura Telnet
742 \layout Standard
743
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
747  la conexión telnet.
748 \layout Subsection
749
750 Mensajes Telnet
751 \layout Standard
752
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
756  el cliente.
757  Tambíen se puede notar que los primeros mensajes pertenecen a la negociación
758  del protocolo e intercambio de parámetros.
759 \layout Subsection
760
761 Segmentos TCP
762 \layout Standard
763
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
769  contabilizados.
770  
771 \layout Subsection
772
773 Paquetes IP
774 \layout Standard
775
776 Cada segmento TCP va acompañado por un paquete IP, en total 1005 paquetes
777  IP.
778 \layout Subsection
779
780 Frames Ethernet
781 \layout Standard
782
783 Analogamente al caso anterior, podemos observar 1005 frames ethernet.
784 \layout Section
785
786 Anexo
787 \the_end