]> git.llucax.com Git - z.facultad/75.43/tp2.git/blob - Informe.lyx
2f84ae6a71f9f16c5dad7a035e6ff34709f1e08f
[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 Dimov, Nicolás
35 \newline 
36 Lucarella, Leandro
37 \newline 
38 Markiewicz, Ricardo
39 \layout Standard
40
41
42 \begin_inset LatexCommand \tableofcontents{}
43
44 \end_inset 
45
46
47 \layout Section
48
49 Protocolo PPP
50 \layout Subsection
51
52 Introducción
53 \layout Standard
54
55 El protocolo PPP es muy utilizado para establecer una comunicación entre
56  2 redes (routers), ya sea entre LANs o entre una LAN y WAN u otras redes
57  más grandes.
58  Incluso es útil para comunicar un sólo host a una red distante (donde no
59  sería viable tender un cable o utilizar un medio inalámbrico).
60  Al poder ser montado sobre líneas telefónicas conmutadas, este protocolo
61  fue (y es) muy utilizado para proveer acceso a internet.
62 \layout Subsection
63
64 Protocolo
65 \layout Standard
66
67
68 \begin_inset Float figure
69 wide false
70 collapsed true
71
72 \layout Caption
73
74
75 \begin_inset LatexCommand \label{cap:Diagrama-de-estados-ppp}
76
77 \end_inset 
78
79 Diagrama de estados de una conexión PPP
80 \layout Standard
81
82
83 \begin_inset Graphics
84         filename ppp.eps
85         scale 65
86
87 \end_inset 
88
89
90 \end_inset 
91
92 Lo primero que debe hacer el protocolo es establecer una conexión física
93  entre las dos puntas de la comunicación, para esto debe discar el número
94  si se utiliza sobre una línea telefónica conmutada, para establecer el
95  canal.
96  Una vez establecido el canal, empieza a actuar el LCP (Link Control Protocol)
97  que negocia, enviando frames PPP, los parámetros de la conexión.
98  Una vez acordados estos parámetros, puede realizarse una etapa de autenticación
99 , para verificar la identidad de las puntas y así permitir o no que la comunicac
100 ión se establezca.
101  Finalmente, si todo resultó bien, se envía una serie de paquetes NCP (Network
102  Control Protocol) para configurar la capa de red (como la dirección IP,
103  si se quisiera utilizar el protocolo TCP/IP en dicha capa).
104 \layout Standard
105
106 En este momento las dos puntas de la conexión están comunicadas y pueden
107  realizar todas sus tareas como si estuvieran conectadas en una LAN.
108 \layout Standard
109
110 Un vez finalizado, se procede prácticamente de forma inversa a como se estableci
111 ó la conexión para liberarla.
112  Primero se libera la IP a través del procotocolo NCP, luego se libera el
113  enlace cerrando la conexión de la capa LCP y finalmente se cierra la conexión
114  física (se corta el módem), si fuera necesario.
115 \layout Standard
116
117 Se puede ver un diagrama de estados de este proceso en la figura 
118 \begin_inset LatexCommand \vref{cap:Diagrama-de-estados-ppp}
119
120 \end_inset 
121
122 .
123 \layout Subsection
124
125 Configuración
126 \layout Standard
127
128 Entre las cosas que se pueden configurar (negociando a través del protocolo
129  LCP) está el tamaño de la cabecera del frame (ya que los campos 
130 \emph on 
131 address
132 \emph default 
133  y 
134 \emph on 
135 control
136 \emph default 
137  generalmente son fijos y pueden evitarse, el campo 
138 \emph on 
139 protocol
140 \emph default 
141  puede ser de 1 o 2 bytes y el 
142 \emph on 
143 checksum
144 \emph default 
145  de 2 o 4) y el máximo tamaño del 
146 \emph on 
147 payload
148 \emph default 
149  del frame.
150  Estos parámetros se establecen con valores por omisión para poder ser negociado
151 s luego con el protocolo LCP.
152 \layout Standard
153
154 El protocolo NCP es muy específico sobre qué protocolo de red se quiera
155  negociar, por lo que es muy difícil hablar en términos generales de él.
156  Para el caso más común, donde se configura una capa de red IP, se utiliza
157  el protocolo IPCP (IP Control Protocol) cuya tarea se limita prácticamente
158  a la asignación de la IP (aunque puede negociar compresión de cabeceras
159  también).
160  Hay también extensiones, como la extensión para configurar servidores de
161  nombre (definido en la RFC 1877 
162 \begin_inset Quotes eld
163 \end_inset 
164
165 PPP Internet Protocol Control Protocol Extensions for Name Server Addresses
166 \begin_inset Quotes erd
167 \end_inset 
168
169 ).
170 \layout Subsection
171
172 Configuración de los routes sobre línea dedicada
173 \layout Subsubsection
174
175 Con modems
176 \layout Standard
177
178 Lo primero que hay que hacer si utilizamos un modem sobre una línea telefónica
179  conmutada, es establecer el canal de la capa física.
180  Esto significa que una de las puntas debe discar el número de la otra y
181  establecer el canal utilizando algún programa de comunicación que permita
182  salir sin 
183 \emph on 
184 resetear
185 \emph default 
186  el modem (como 
187 \family typewriter 
188 minicom
189 \family default 
190 , con el que podemos hacerlo utilizando la combinación de teclas 
191 \family typewriter 
192 ALT-Q
193 \family default 
194 ).
195 \layout Standard
196
197 Con el canal establecido, ejecutamos en ambas puntas el comando:
198 \layout LyX-Code
199
200 pppd -detach <IP local>:<IP remota> /dev/ttyS<N> <baudios> &
201 \layout Standard
202
203 Donde 
204 \family typewriter 
205 <IP local>
206 \family default 
207  es la IP que se usará en la punta donde se ejectuta el comando, 
208 \family typewriter 
209 <IP remota>
210 \family default 
211  la IP del par, 
212 \family typewriter 
213 <N>
214 \family default 
215  el número de puerto serie (empezando de 0, que equivaldría al puerto más
216  conocido como COM1) y 
217 \family typewriter 
218 <baudios>
219 \family default 
220  la velocidad en baudios del puerto serie.
221  Recordemos que estamos usando como NCP al protocolo IPCP, para establecer
222  una capa de red IP.
223 \layout Standard
224
225 Esta es una forma muy precaria y no autenticada de establecer la conexión
226  PPP.
227  La forma correcta sería dejando que una de las puntas actúe como 
228 \emph on 
229 servidor
230 \begin_inset Foot
231 collapsed true
232
233 \layout Standard
234
235 Técnicamente no es un servidor, ya que no existe tal cosa en el protocolo
236  PPP (en el que ambas puntas son pares), pero suele utilizarse este término
237  para la punta que recibe las llamadas, las atiende y asigna IPs.
238 \end_inset 
239
240
241 \emph default 
242  PPP, encargándose de atender a la llamada entrante automáticamente, autenticand
243 o y asignando la IP a la otra punta, pero esta configuración es bastante
244  más compleja y poco realizable en el laboratorio.
245 \layout Subsubsection
246
247 Sin modems (null modems)
248 \layout Standard
249
250 En ambas puntas de la conexión via null modem hay que ejecutar el siguiente
251  comando:
252 \layout LyX-Code
253
254 pppd -detach crtscts lock <IP local>:<IP remota> /dev/ttyS<N> <baudios>
255  &
256 \layout Standard
257
258 Donde 
259 \family typewriter 
260 <IP local>
261 \family default 
262  es la IP que se usará en la punta donde se ejectuta el comando, 
263 \family typewriter 
264 <IP remota>
265 \family default 
266  la IP del par, 
267 \family typewriter 
268 <N>
269 \family default 
270  el número de puerto serie (empezando de 0, que equivaldría al puerto más
271  conocido como COM1) y 
272 \family typewriter 
273 <baudios>
274 \family default 
275  la velocidad en baudios del puerto serie.
276  Recordemos que estamos usando como NCP al protocolo IPCP, para establecer
277  una capa de red IP.
278 \layout Standard
279
280 Esto no establece ninguna tabla de ruteo, por lo que hay que cargarlas a
281  mano en caso de ser un router o de querer especificar un 
282 \emph on 
283 default gateway
284 \emph default 
285  en alguna de las puntas.
286  También es probable que haya que configurar los parámetros del puerto serie
287  con el comando 
288 \family typewriter 
289 setserial
290 \family default 
291 , de manera tal que ambas puntas tenga los mismos parámetros (como paridad,
292  baudios, etc).
293 \layout Section
294
295 Tablas de ruteo
296 \layout Standard
297
298
299 \begin_inset Float figure
300 wide false
301 collapsed true
302
303 \layout Caption
304
305
306 \begin_inset LatexCommand \label{cap:Diagrama-de-la-red}
307
308 \end_inset 
309
310 Diagrama de la red
311 \layout Standard
312
313
314 \begin_inset Graphics
315         filename diagrama.eps
316         scale 62
317         keepAspectRatio
318
319 \end_inset 
320
321
322 \end_inset 
323
324 Las tablas de ruteo se adjuntan en el Anexo.
325  Puede verse un diagrama de la red con sus respectivos routers y sus interfaces
326  en la figura 
327 \begin_inset LatexCommand \vref{cap:Diagrama-de-la-red}
328
329 \end_inset 
330
331 .
332 \layout Section
333
334 Tablas de ruteo (simulación)
335 \layout Standard
336
337
338 \begin_inset Float figure
339 wide false
340 collapsed true
341
342 \layout Caption
343
344
345 \begin_inset LatexCommand \label{cap:Diagrama-de-la-simulacion}
346
347 \end_inset 
348
349 Diagrama de la simulación
350 \layout Standard
351
352
353 \begin_inset Graphics
354         filename red_labo.eps
355         scale 62
356         keepAspectRatio
357
358 \end_inset 
359
360
361 \end_inset 
362
363 Las tablas de ruteo de la simulación se adjuntan en el Anexo.
364  Puede verse un diagrama de la red con sus respectivos routers y sus interfaces
365  en la figura 
366 \begin_inset LatexCommand \vref{cap:Diagrama-de-la-simulacion}
367
368 \end_inset 
369
370 .
371 \layout Section
372
373 Análisis de la captura HTTP
374 \layout Subsection
375
376 Registro de un nuevo usuario
377 \layout Subsubsection
378
379 Mensajes HTTP
380 \layout Standard
381
382 Requirió para cargar el 
383 \family typewriter 
384 index.php
385 \family default 
386  16 mensajes HTTP, 8 GET y 7 respuestas 200 (OK) y 1 404 (NOT FOUND), correspond
387 ientes a dichos mensajes.
388  Los 8 GET fueron para pedir los siguientes archivos: 
389 \family typewriter 
390 index.php
391 \family default 
392
393 \family typewriter 
394 styles.css
395 \family default 
396
397 \family typewriter 
398 funciones.js
399 \family default 
400
401 \family typewriter 
402 groso.gif
403 \family default 
404
405 \family typewriter 
406 dimov.jpg
407 \family default 
408
409 \family typewriter 
410 rmarkie.jpg
411 \family default 
412
413 \family typewriter 
414 logo.png
415 \family default 
416  y 
417 \family typewriter 
418 favicon.ico
419 \family default 
420  (que devolvió NOT FOUND).
421  Para la página específica de registro de un usuario (el formulario) solo
422  requirió 2 mensajes HTTP (GET y su respuesta) ya que las imágenes ya las
423  tenía en el cache el navegador.
424  Una vez presionado el botón de ENVIAR se observan 4 mensajes más HTTP,
425  primero un POST para enviar los datos del formulario al servidor, luego
426  su correspondiente respuesta 200 (OK).
427  Finalmente se vuelve a cargar el 
428 \family typewriter 
429 index.php
430 \family default 
431  para lo que se utilizan 2 mensajes más (GET y su respuesta 200).
432  Nuevamente observamos que como las imágenes están en el cache, no se vuelven
433  a pedir por HTTP.
434 \layout Subsubsection
435
436 Segmentos TCP
437 \layout Standard
438
439 Lo primero que se observa son 3 segmentos para establecer la conexión (SYN
440  y ACK), luego por cada mensaje HTTP se observa al menos 2 segmentos TCP,
441  el que lleva el mensaje HTTP y el ACK que confirma la recepción de dicho
442  mensaje.
443  Además, si el mensaje HTTP es mayor a algo menos de 1500 bytes (tamaño
444  del MTU de ethernet), se observa la fragmentación y por cada fragmento
445  se generan 2 nuevos segmentos TCP (nuevamente uno que lleva el fragmento
446  de mensaje HTTP y el ACK correspondiente).
447  Finalmente se observan 4 segmentos TCP para la desconexión (FIN y ACK).
448 \layout Standard
449
450 Para obtener el index.php y sus imágenes se observa que se hace todo en la
451  misma conexión, pero al estar ociosa durante un tiempo el servidor http
452  pide la desconexión y cuando se va a cargar la siguiente página vuelve
453  a iniciar una nueva conexión.
454 \layout Standard
455
456 En total se observaron 4 conexiones:
457 \layout Standard
458
459 index.php+imagenes: 53 segmentos (incluyendo 3 segmentos de conexión y 4
460  de desconexión)
461 \layout Standard
462
463 index.php?NuevoUsuario: 27 segmentos (incluyendo 3 segmentos de conexión
464  y 4 de desconexión)
465 \layout Standard
466
467 index.php?GuardarUsuario+index.php: 97 segmentos (incluyendo 3 segmentos de
468  conexión y 4 de desconexión)
469 \layout Standard
470
471 Total 177 segmentos
472 \layout Subsubsection
473
474 Paquetes IP
475 \layout Standard
476
477 Al ser el protocolo IP el transporte de los segmentos TCP, se observa que
478  para cada segmento, hay un paquete IP que lo transporta (incluyendo los
479  segmentos de control, como SYN y ACK).
480  No hay otro tipo de paquete IP que no este asociado a un segmento TCP.
481 \layout Standard
482
483 Cantidad de paquetes IP: 177
484 \layout Subsubsection
485
486 Frames Ethernet
487 \layout Standard
488
489 Al ser el protocolo ethernet el transporte de los paquetes IP, se observa
490  que para cada paquete, hay un frame ethernet que lo transporta.
491  En esta actividad no se aprecia otro tipo de frame ethernet que no este
492  asociado a un paquete IP.
493 \layout Standard
494
495 Cantidad de frames ethernet: 177
496 \layout Subsection
497
498 Nueva pregunta de la FAQ
499 \layout Standard
500
501 A partir de ahora sólo enumeraremos la cantidad de 
502 \emph on 
503 paquetes
504 \emph default 
505  y mencionaremos si hay alguna diferencia con la actividad anterior, ya
506  que la mecánica es muy similar.
507 \layout Subsubsection
508
509 Mensajes HTTP
510 \layout Standard
511
512 12 mensajes en total:
513 \layout LyX-Code
514
515 GET /~luca/foro/index.php?module=faqs&accion=AgregarPregunta HTTP/1.1
516 \layout LyX-Code
517
518 HTTP/1.1 200 OK (text/html)
519 \layout LyX-Code
520
521 GET /favicon.ico HTTP/1.1
522 \layout LyX-Code
523
524 HTTP/1.1 404 Not Found (text/html)
525 \layout LyX-Code
526
527 POST /~luca/foro/index.php?module=faqs&accion=guardarpregunta HTTP/1.1
528 \layout LyX-Code
529
530 HTTP/1.1 200 OK (text/html)
531 \layout LyX-Code
532
533 GET /~luca/foro/index.php?module=faqs HTTP/1.1
534 \layout LyX-Code
535
536 HTTP/1.1 200 OK (text/html)
537 \layout LyX-Code
538
539 GET /~luca/foro/avatars/phpQe1MqS HTTP/1.1
540 \layout LyX-Code
541
542 HTTP/1.1 304 Not Modified
543 \layout LyX-Code
544
545 GET /favicon.ico HTTP/1.1
546 \layout LyX-Code
547
548 HTTP/1.1 404 Not Found (text/html)
549 \layout Subsubsection
550
551 Segmentos TCP
552 \layout Standard
553
554 Para 
555 \family typewriter 
556 index.php?module=faqs&accion=AgregarPregunta
557 \family default 
558  se reutiliza una conexión previa así que no hay SYN y se utilizan 10 segmentos
559  TCP (incluyendo los 4 de la desconexión).
560  Para obtener el 
561 \family typewriter 
562 favicon.ico
563 \family default 
564  se reutilizó otra conexión diferente, por lo cual tampoco se presentan
565  los segmentos de conexión.
566  En ésta se utilizan 8 segmentos TCP (incluyendo la desconexión).
567  Finalmente el envío de los datos se realiza todo en una nueva conexión
568  que se compone de 88 segmentos TCP (incluyendo conexión y desconexión).
569 \layout Subsubsection
570
571 Paquetes IP
572 \layout Standard
573
574 En total se utilizan 106 paquetes IP.
575 \layout Subsubsection
576
577 Frames Ethernet
578 \layout Standard
579
580 En total se utilizan 106 frames ethernet.
581 \layout Subsection
582
583 Respuesta de una FAQ
584 \layout Subsubsection
585
586 Mensajes HTTP
587 \layout LyX-Code
588
589 GET /~luca/foro/index.php?module=faqs&accion=NuevaRespuesta&idpreg=1 HTTP/1.1
590 \layout LyX-Code
591
592 HTTP/1.1 200 OK (text/html)
593 \layout LyX-Code
594
595 GET /favicon.ico HTTP/1.1
596 \layout LyX-Code
597
598 HTTP/1.1 404 Not Found (text/html)
599 \layout LyX-Code
600
601 POST /~luca/foro/index.php?module=faqs&accion=guardarrespuesta HTTP/1.1
602 \layout LyX-Code
603
604 HTTP/1.1 200 OK (text/html)
605 \layout LyX-Code
606
607 GET /~luca/foro/index.php?module=faqs&accion=Mostrarrespuestas&idpreg=1 HTTP/1.1
608 \layout LyX-Code
609
610 HTTP/1.1 200 OK (text/html)
611 \layout LyX-Code
612
613 GET /~luca/foro/avatars/phpQe1MqS HTTP/1.1
614 \layout LyX-Code
615
616 HTTP/1.1 304 Not Modified
617 \layout LyX-Code
618
619 GET /~luca/foro/avatars/phpGifOBK HTTP/1.1
620 \layout LyX-Code
621
622 HTTP/1.1 304 Not Modified
623 \layout LyX-Code
624
625 GET /favicon.ico HTTP/1.1
626 \layout LyX-Code
627
628 HTTP/1.1 404 Not Found (text/html)
629 \layout Standard
630
631 Total: 14 mensajes HTTP
632 \layout Subsubsection
633
634 Segmentos TCP
635 \layout Standard
636
637 Conexión de 
638 \family typewriter 
639 index.php?module=faqs&accion=NuevaRespuesta&idpreg=1
640 \family default 
641 : 10 (reutiliza conexión, incluye desconexión)
642 \layout Standard
643
644 Conexión 
645 \family typewriter 
646 favicon.ico
647 \family default 
648 : 7 (reutiliza conexión, incluye desconexión)
649 \layout Standard
650
651 Resto: 31 (incluye conexión y desconexión)
652 \layout Subsubsection
653
654 Paquetes IP
655 \layout Standard
656
657 Total: 48 paquetes IP.
658 \layout Subsubsection
659
660 Frames Ethernet
661 \layout Standard
662
663 Total: 48 frames ethernet.
664 \layout Section
665
666 Análisis de la captura FTP
667 \layout Subsection
668
669 Mensajes FTP
670 \layout Standard
671
672 La captura fue realizada transfiriendo un archivo binario de 1.9 Mb, llamado
673  db4o-4.5-mono.tar.gz.
674  Para la transferencia se han intercambiado 16 mensajes FTP 8 response y
675  6 requests.
676 \layout Standard
677
678 Lo primero que se recibe es el response del server dando su identificacion
679  (hostname).
680  Luego un request del comando USER y la respuesta del servidor diciendo
681  que se necesita password para dicho usuario.
682  El siguiente comando es PASS con el que se envia el password y recibimos
683  la respuesta de que estamos loggeados.
684 \layout Standard
685
686 El cliente envía un SYST para saber el tipo de sistema que hay del otro
687  lado, a lo que el server responde UNIX Type: L8.
688  Luego se cambia el tipo de modo de transferencia con TYPE y a continuación
689  se hace un PORT para establecer un canal de comunicación.
690 \layout Standard
691
692 Como último comando se envía RETR para traer un archivo, luego recibimos
693  una respuesta de que se estableció un canal binario y por último un response
694  cuando se completo la transferencia.
695 \layout Standard
696
697 También se registraron 1346 paquetes FTP-DATA intercambiados durante la
698  transferencia del archivo.
699  Once de dichos paquetes correspondieron a paquetes de control conteniendo
700  TCP Previous segment lost.
701  El resto corresponden a envío de 1448 bytes de datos transferidos.
702 \layout Subsection
703
704 Segmentos TCP
705 \layout Standard
706
707 Lo primero que se observa son 3 segmentos para establecer la conexión (SYN
708  y ACK) entre un puerto alto (35631) y el puerto FTP del server.
709  Luego 2 paquetes para la autenticación de usuario y a continuación está
710  la negociación del puerto y el comando RETR usando 34 segmentos.
711 \layout Standard
712
713 Sigue a continuación la transferencia del archivo entre el puerto ftp-data
714  del servidor y el puerto local 32985.
715 \layout Standard
716
717 La transferencia consume 1466 paquetes, de los cuales tenemos algunos de
718  control.
719  Hay 112 ACK, 5 paquetes TCP ACKed lost segment y 3 de TCP Window Update.
720 \layout Standard
721
722 La comunicación termina con 11 segmentos TCP.
723 \layout Subsection
724
725 Paquetes IP
726 \layout Standard
727
728 En total se utilizan 1516 paquetes IP.
729 \layout Subsection
730
731 Frames Ethernet
732 \layout Standard
733
734 En total se utilizan 1516 frames ethernet.
735 \layout Section
736
737 Análisis de la captura Telnet
738 \layout Standard
739
740 Se realizó la captura al inicio de una conexión mediante telnet al servidor
741  donde se encontraba el archivo RFC792 al cual se le modificaron 5 líneas
742  (una en cada hoja) se lo guardó y luego se desconecto del servidor cerrando
743  la conexión telnet.
744 \layout Subsection
745
746 Mensajes Telnet
747 \layout Standard
748
749 Se contaron en total 717 mensajes telnet, donde en su mayoría contenían
750  cada uno de ellos, un caracter correspondiente a una tecla presionada y
751  en algunas ocasiones líneas completas transmitidas por el servidor hacia
752  el cliente.
753  Tambíen se puede notar que los primeros mensajes pertenecen a la negociación
754  del protocolo e intercambio de parámetros.
755 \layout Subsection
756
757 Segmentos TCP
758 \layout Standard
759
760 Como en los protocolos anteriores se puede observar que se utilizan 3 segmentos
761  para establecer la conexión (SYN, ACK), y que todos los mensajes telnet
762  van montados en un segmento TCP.
763  Por lo tanto tendremos tantos segmentos TCP como mensajes de telnet haya
764  sumando además los segmentos TCP de control, en total 1005 segmentos fueron
765  contabilizados.
766  
767 \layout Subsection
768
769 Paquetes IP
770 \layout Standard
771
772 Cada segmento TCP va acompañado por un paquete IP, en total 1005 paquetes
773  IP.
774 \layout Subsection
775
776 Frames Ethernet
777 \layout Standard
778
779 Analogamente al caso anterior, podemos observar 1005 frames ethernet.
780 \layout Section
781
782 Anexo
783 \the_end