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