Browse Source

README-es.md edited online with Bitbucket

Jose R Ortiz Ubarri 8 years ago
parent
commit
356d60d97e
1 changed files with 25 additions and 22 deletions
  1. 25
    22
      README-es.md

+ 25
- 22
README-es.md View File

5
 ![main2.png](images/main2.png)
5
 ![main2.png](images/main2.png)
6
 ![main3.png](images/main3.png)
6
 ![main3.png](images/main3.png)
7
 
7
 
8
-[Verano 2016 - Ive]
9
-
10
-Dos tareas comunes cuando se trabaja con arreglos de datos son el buscar datos y el organizar los datos usando algún orden, ascendente o descendente, alfabéticamente o numéricamente. Para realizar estas tareas eficientemente se siguen algoritmos de búsqueda y de ordenamiento. Un algoritmo sencillo para hacer búsquedas es el de búsqueda lineal. Dos algoritmos de ordenamiento sencillos y bien conocidos son el ordenamiento de selección (Selection sort) y el ordenamiento por burbujas (Bubble sort). En esta experiencia de laboratorio completarás una aplicación para el monitoreo de flujo de redes para practicar la implementación del algoritmo de búsqueda lineal y algoritmos de búsqueda.
8
+[Verano 2016- Ive - Tatiana]
9
+Dos tareas comunes cuando se trabaja con arreglos de datos son buscar datos y organizar los datos usando algún orden, ascendente o descendente, alfabéticamente o numéricamente. Para realizar estas tareas eficientemente se siguen algoritmos de búsqueda y de ordenamiento. Un algoritmo sencillo para hacer búsquedas es la búsqueda lineal. Dos algoritmos de ordenamiento sencillos y bien conocidos son el ordenamiento de selección (Selection sort) y el ordenamiento por burbujas (Bubble sort). En esta experiencia de laboratorio completarás una aplicación para el monitoreo de flujo de redes para practicar la implementación del algoritmo de búsqueda lineal y algoritmos de búsqueda.
11
 
10
 
12
 
11
 
13
 ##Objetivos:
12
 ##Objetivos:
34
 
33
 
35
 4. Estudiar los conceptos e instrucciones para la sesión de laboratorio.
34
 4. Estudiar los conceptos e instrucciones para la sesión de laboratorio.
36
 
35
 
37
-5. Tomar el quiz Pre-Lab que se encuentra en Moodle.
36
+5. Tomar el quiz Pre-Lab, disponible en Moodle.
38
 
37
 
39
 ---
38
 ---
40
 
39
 
43
 
42
 
44
 ##Comunicación entre computadoras
43
 ##Comunicación entre computadoras
45
 
44
 
46
-Las computadoras se comunican por medio del Internet utilizando el *Protocolo de Internet* (IP, por sus siglas en inglés). Cuando una computadora envía información (o mensaje) a otra computadora, la información se envía por *Paquetes de Internet* que contienen la *dirección fuente* ("source address"), que es la dirección de Internet de la computadora que está enviando la información, y la *dirección del destino* ("destination address"), que es dirección de Internet de la computadora que debe recibir el mensaje. Las direcciones de Internet se usan para guiar la información de una computadora a otra, pero, una vez el paquete llega a su destino, ?quién se supone que reciba la información? ?Cuál aplicación debe recibir la información?
45
+Las computadoras se comunican por medio del Internet utilizando el *Protocolo de Internet* (IP, por sus siglas en inglés). Cuando una computadora envía información (o mensaje) a otra computadora, la información se envía por *Paquetes de Internet* que contienen la *dirección fuente* ("source address"), que es la dirección de Internet de la computadora que está enviando la información, y la *dirección del destino* ("destination address"), que es dirección de Internet de la computadora que debe recibir el mensaje. Las direcciones de Internet se usan para guiar la información de una computadora a otra, pero, una vez el paquete llega a su destino, ¿quién se supone que reciba la información? ¿Cuál aplicación debe recibir la información?
47
 
46
 
48
 Los paquetes de internet también deben especificar la aplicación que envía la información y la aplicación que debe recibirla. Podemos pensar que las direcciones de Internet son las direcciones de correo de una casa, y que las aplicaciones que envían y reciben la información son las personas que envían y reciben la correspondencia. Para enviar una carta por correo, hay que especificar a qué persona se le está enviando la carta. Esto corresponde a especificar la aplicación que recibe la información. Para identificar la aplicación fuente y la aplicación del destino, el protocolo de Internet usa lo que se conoce como *números de puerto*. De este modo, mirando la información del paquete, se puede identificar las direcciones y puertos de la fuente y del destino.
47
 Los paquetes de internet también deben especificar la aplicación que envía la información y la aplicación que debe recibirla. Podemos pensar que las direcciones de Internet son las direcciones de correo de una casa, y que las aplicaciones que envían y reciben la información son las personas que envían y reciben la correspondencia. Para enviar una carta por correo, hay que especificar a qué persona se le está enviando la carta. Esto corresponde a especificar la aplicación que recibe la información. Para identificar la aplicación fuente y la aplicación del destino, el protocolo de Internet usa lo que se conoce como *números de puerto*. De este modo, mirando la información del paquete, se puede identificar las direcciones y puertos de la fuente y del destino.
49
 
48
 
50
-Por ejemplo, cuando la computadora que usas en un laboratorio se comunica con el servidor donde se encuentra el programa  Moodle, los paquetes que llevan la información de tu computadora al servidor contienen la dirección de la fuente, que es la computadora del laboratorio, y la dirección del destinatario, que es el servidor de Moodle. El puerto fuente es el de tu buscador web y el puerto destinatario es el del servidor de Moodle.
49
+Por ejemplo, cuando la computadora que usas en un laboratorio se comunica con el servidor donde se encuentra el programa Moodle, los paquetes que llevan la información de tu computadora al servidor contienen la dirección de la fuente, que es la computadora del laboratorio, y la dirección del destinatario, que es el servidor de Moodle. El puerto fuente es el de tu buscador web y el puerto destinatario es el del servidor de Moodle.
51
  
50
  
52
 Las direcciones de internet ocupan 4 bytes (32 bits) y usualmente se presentan al usuario como cadenas de 4 valores decimales. Cada valor decimal entre 0 y 255 es la representación decimal  de uno de los 4 bytes:
51
 Las direcciones de internet ocupan 4 bytes (32 bits) y usualmente se presentan al usuario como cadenas de 4 valores decimales. Cada valor decimal entre 0 y 255 es la representación decimal  de uno de los 4 bytes:
53
  "(0-255).(0-255).(0-255).(0-255)". Algunos ejemplos de direcciones de IP son:
52
  "(0-255).(0-255).(0-255).(0-255)". Algunos ejemplos de direcciones de IP son:
55
 
54
 
56
 Los números de puertos ocupan 2 bytes (16 bits). Por lo tanto, los valores para los números de puertos van de 0 a 65535. Algunos números de puertos asignados a aplicaciones de servicios conocidos son: 22 para `ssh`, 23 para `telnet`, 25 para `smtp`, 80 para `http`.   
55
 Los números de puertos ocupan 2 bytes (16 bits). Por lo tanto, los valores para los números de puertos van de 0 a 65535. Algunos números de puertos asignados a aplicaciones de servicios conocidos son: 22 para `ssh`, 23 para `telnet`, 25 para `smtp`, 80 para `http`.   
57
 
56
 
58
-La aplicación que veremos hoy se puede utilizar para monitorear lo que se conoce como flujo en redes o "NetFlows". Un "NetFlow" se compone al unir los paquetes de una comunicación unidireccional entre las aplicaciones de dos computadoras. Por ejemplo, un "NetFlow" se puede componer de los paquetes usados para enviar la información desde tu buscador web a la aplicación `http` del servidor de Moodle.
57
+La aplicación que veremos hoy se puede utilizar para monitorear lo que se conoce como flujo en redes o "NetFlows". Un "NetFlow" se compone al unir los paquetes de una comunicación unidireccional entre las aplicaciones de dos computadoras. Por ejemplo, un "NetFlow" se puede componer de los paquetes usados para enviar la información desde tu navegador web a la aplicación `http` del servidor de Moodle.
59
 
58
 
60
-La Figura 1 muestra la interfaz de la aplicación *Network Analyzer*. 
59
+La Figura 1 muestra la interface de la aplicación *Network Analyzer*. 
61
 
60
 
62
 ---
61
 ---
63
 
62
 
64
 ![figure1.png](images/figure1.png)
63
 ![figure1.png](images/figure1.png)
65
 
64
 
66
-**Figura 1.** Interfaz para manejar la aplicación de *Network Analyzer*.
65
+**Figura 1.** Interface para manejar la aplicación de *Network Analyzer*.
67
 
66
 
68
 ---
67
 ---
69
 
68
 
72
 La aplicación que completarás hoy le permitirá al usuario el analizar el estatus de una red. Entre otras cosas, le permitirá:
71
 La aplicación que completarás hoy le permitirá al usuario el analizar el estatus de una red. Entre otras cosas, le permitirá:
73
 
72
 
74
 * identificar cuáles comunicaciones transmiten la mayor cantidad de datos
73
 * identificar cuáles comunicaciones transmiten la mayor cantidad de datos
75
-* cuáles aplicaciones están corriendo en ciertas computadoras
76
-* cuáles computadoras transmiten grandes cantidades de paquetes comparadas con la cantidad de datos
74
+* identificar cuáles aplicaciones están corriendo en ciertas computadoras
75
+* identificar cuáles computadoras transmiten grandes cantidades de paquetes comparadas con la cantidad de datos
77
 
76
 
78
 
77
 
79
 ##Bibliotecas
78
 ##Bibliotecas
88
 ##Sesión de laboratorio:
87
 ##Sesión de laboratorio:
89
 
88
 
90
 
89
 
91
-La aplicación que completarás hoy le permite al usuario subir un archivo que contenga expedientes de "NetFlow" utilizando el botón "Open NetFlow File", guarda los expedientes en un vector de paquetes, y los despliega en la tabla de contenido del interfaz de la aplicación como se muestra en la Figura 2.
90
+La aplicación que completarás hoy le permite al usuario subir un archivo que contenga expedientes de "NetFlow" utilizando el botón "Open NetFlow File", guarda los expedientes en un vector de paquetes, y los despliega en la tabla de contenido del interface de la aplicación como se muestra en la Figura 2.
92
 
91
 
93
 ---
92
 ---
94
 
93
 
95
 ![figure2.png](images/figure2.png)
94
 ![figure2.png](images/figure2.png)
96
 
95
 
97
-**Figura 2.** Interfaz de la aplicación *Network Analyzer* con los paquetes de flujo de datos en una red.
96
+**Figura 2.** Interface de la aplicación *Network Analyzer* con los paquetes de flujo de datos en una red.
98
 
97
 
99
 ---
98
 ---
100
 
99
 
128
 
127
 
129
 1. Carga a `QtCreator` el proyecto `NetworkAnalyzer`. Hay dos maneras de hacer esto:
128
 1. Carga a `QtCreator` el proyecto `NetworkAnalyzer`. Hay dos maneras de hacer esto:
130
 
129
 
131
-    * Utilizando la máquina virtual: Haz doble “click” en el archivo `NetworkAnalyzer.pro` que se encuentra  en el directorio `/home/eip/labs/sorting-networkanalyzer` de la máquina virtual.
132
-    * Descargando la carpeta del proyecto de `Bitbucket`: Utiliza un terminal y escribe el commando `git clone http:/bitbucket.org/eip-uprrp/sorting-networkanalyzer` para descargar la carpeta `sorting-networkanalyzer` de `Bitbucket`. En esa carpeta, haz doble “click” en el archivo `NetworkAnalyzer.pro`.
130
+*  Utilizando la máquina virtual: Haz doble "click" en el archivo `NetworkAnalyzer.pro` que se encuentra en el directorio `/home/eip/labs/sorting-networkanalyzer` de la máquina virtual. 
131
+* Descargando la carpeta del proyecto de `Bitbucket`: Utiliza un terminal y escribe el comando `git clone http://bitbucket.org/eip-uprrp/sorting-networkanalyzer` para descargar la carpeta `sorting-networkanalyzer` de `Bitbucket`. En esa carpeta, haz doble “click” en el archivo `NetworkAnalyzer.pro`.
133
 
132
 
134
 2. Abre el archivo `packet.cpp`. Estudia los atributos y métodos de la clase `Packet`.
133
 2. Abre el archivo `packet.cpp`. Estudia los atributos y métodos de la clase `Packet`.
135
 
134
 
149
     * `FilterBySrcPort`
148
     * `FilterBySrcPort`
150
     * `FilterByDstPort`
149
     * `FilterByDstPort`
151
 
150
 
152
-    Cada una de estas funciones recibe un vector de objetos de clase `Packet` y una clave de búsqueda. Cada función (nota sus nombres) está relacionada a un atributo de la clase `Packet`  y deberá "filtrar" los paquetes en el vector que correspondan a la clave. Para filtrar estos paquetes usarás una modificación del algoritmo de búsqueda lineal que consiste en hacer una búsqueda secuencial para encontrar todas las ocurrencias de un dato.  En cada función, el algoritmo debe buscar en cada paquete del vector y desactivar los paquetes en los que el contenido del miembro de interés no es igual al de la clave de búsqueda. Para desactivar el paquete usa el método `disable()` de la clase `Packet`. El filtrado consiste en mantener solo los paquetes que corresponden a la clave.
151
+Cada una de estas funciones recibe un vector de objetos de clase `Packet` y una clave de búsqueda. Cada función (nota sus nombres) está relacionada a un atributo de la clase `Packet`  y deberá "filtrar" los paquetes en el vector que correspondan a la clave. Para filtrar estos paquetes usarás una modificación del algoritmo de búsqueda lineal que consiste en hacer una búsqueda secuencial para encontrar todas las ocurrencias de un dato.  En cada función, el algoritmo debe buscar en cada paquete del vector y desactivar los paquetes en los que el contenido del miembro de interés no es igual al de la clave de búsqueda. Para desactivar el paquete usa el método `disable()` de la clase `Packet`. El filtrado consiste en mantener solo los paquetes que corresponden a la clave.
153
 
152
 
154
 
153
 
155
-    Por ejemplo, si estás filtrando por `Source Address` y la clave de búsqueda es 136.145.181.130, la función `FilterBySrcAddr` mantendrá todos los paquetes del vector cuyo `Source Address` es 136.145.181.130 y desactivará todos los otros.
154
+Por ejemplo, si estás filtrando por `Source Address` y la clave de búsqueda es 136.145.181.130, la función `FilterBySrcAddr` mantendrá todos los paquetes del vector cuyo `Source Address` es 136.145.181.130 y desactivará todos los otros.
156
 
155
 
157
-    La siguiente figura es una foto del interfaz de la aplicación luego de filtrar los datos por `Source Address` con la clave 136.145.181.130.
156
+La siguiente figura es una foto del interface de la aplicación luego de filtrar los datos por `Source Address` con la clave 136.145.181.130.
158
 
157
 
159
-    ---
158
+---
160
 
159
 
161
-    ![figure3.png](images/figure3.png)
160
+![figure3.png](images/figure3.png)
162
 
161
 
163
-    **Figura 3.** Interfaz de la aplicación *Network Analyzer* con los paquetes de  flujo de datos en una red filtrados por `Source Address` con clave 136.145.181.130.
162
+**Figura 3.** Interface de la aplicación *Network Analyzer* con los paquetes de  flujo de datos en una red filtrados por `Source Address` con clave 136.145.181.130.
164
 
163
 
165
-    ---
164
+---
166
 
165
 
167
 ###Ejercicio 2: Ordenar datos
166
 ###Ejercicio 2: Ordenar datos
168
 
167
 
170
 
169
 
171
 1. Abre el archivo `Sort.cpp`. En este ejercicio completarás las siguientes funciones que están contenidas en este archivo:
170
 1. Abre el archivo `Sort.cpp`. En este ejercicio completarás las siguientes funciones que están contenidas en este archivo:
172
 
171
 
172
+
173
     * `SortBySrcAddr`
173
     * `SortBySrcAddr`
174
     * `SortByDstAddr`
174
     * `SortByDstAddr`
175
     * `SortBySrcPort`
175
     * `SortBySrcPort`
176
     * `SortByDstPort`
176
     * `SortByDstPort`
177
 
177
 
178
+
178
     Cada una de esas funciones recibe un vector  de clase `Packet`. Cada función (nota sus nombres) está relacionada a un atributo de la clase `Packet`  y deberá "ordenar" los paquetes del vector de acuerdo al atributo de interés.
179
     Cada una de esas funciones recibe un vector  de clase `Packet`. Cada función (nota sus nombres) está relacionada a un atributo de la clase `Packet`  y deberá "ordenar" los paquetes del vector de acuerdo al atributo de interés.
179
 
180
 
180
     La siguiente figura es una foto del interface de la aplicación luego de ordenar los datos por `Source Address`.
181
     La siguiente figura es una foto del interface de la aplicación luego de ordenar los datos por `Source Address`.
230
 
231
 
231
 ---
232
 ---
232
 
233
 
234
+
235
+