-
Notifications
You must be signed in to change notification settings - Fork 131
/
p5.txt
182 lines (153 loc) · 8.63 KB
/
p5.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
Práctica 5 - Sesión SIP
Protocolos para la Transmisión de Audio y Vı́deo en Internet
Versión 8.0.1 - 6.11.2017
Ejercicios
Creación de repositorio para la práctica
1. Con el navegador, dirı́gete al repositorio ptavi-p5 en la cuenta del
profesor en GitHub1 y realiza un fork, de manera que consigas tener
una copia del repositorio en tu cuenta de GitHub. Clona el repositorio
que acabas de crear a local para poder editar los archivos. Trabaja a
partir de ahora en ese repositorio, sincronizando los cambios que vayas
realizando.
Como tarde al final de la práctica, deberás realizar un push para subir
tus cambios a tu repositorio en GitHub. En esta práctica, al contrario
que con las demás, se recomienda hacer frecuentes commits, pero el
push al final.
Análisis de una sesión SIP
Se ha capturado una sesión SIP con Ekiga (archivo sip.cap.gz), que
se puede abrir con Wireshark2 . Se pide rellenar las cuestiones que se
plantean en este guión en el fichero p5.txt que encontrarás también
en el repositorio.
2. Observa que las tramas capturadas corresponden a una sesión SIP
con Ekiga, un cliente de VoIP para GNOME. Responde a las siguientes
cuestiones:
* ¿Cuántos paquetes componen la captura?
* ¿Cuánto tiempo dura la captura?
* ¿Qué IP tiene la máquina donde se ha efectuado la captura? ¿Se
trata de una IP pública o de una IP privada? ¿Por qué lo sabes?
3. Antes de analizar las tramas, mira las estadı́sticas generales que aparecen en el menú de Statistics. En el apartado de jerarquı́a de protocolos (Protocol Hierarchy) se puede ver el porcentaje del tráfico
correspondiente al protocolo TCP y UDP.
* ¿Cuál de los dos es mayor? ¿Tiene esto sentido si estamos hablando
de una aplicación que transmite en tiempo real?
* ¿Qué otros protocolos podemos ver en la jerarquı́a de protocolos?
¿Cuales crees que son señal y cuales ruido?
4. Observa por encima el flujo de tramas en el menú de Statistics en IO
Graphs. La captura que estamos viendo incluye desde la inicialización
(registro) de la aplicación hasta su finalización, con una llamada entremedias.
* Filtra por sip para conocer cuándo se envı́an paquetes SIP. ¿En
qué segundos tienen lugar esos envı́os?
* Y los paquetes con RTP, ¿cuándo se envı́an?
[Al terminar el ejercicio es recomendable hacer commit de los ficheros modificados]
5. Analiza las dos primeras tramas de la captura.
* ¿Qué servicio es el utilizado en estas tramas?
* ¿Cuál es la dirección IP del servidor de nombres del ordenador
que ha lanzado Ekiga?
* ¿Qué dirección IP (de ekiga.net) devuelve el servicio de nombres?
6. A continuación, hay más de una docena de tramas TCP/HTTP.
* ¿Podrı́as decir la URL que se está pidiendo?
* ¿Qué user agent (UA) la está pidiendo?
* ¿Qué devuelve el servidor?
* Si lanzamos el navegador web, por ejemplo, Mozilla Firefox, y
vamos a la misma URL, ¿qué recibimos? ¿Qué es, entonces, lo
que está respondiendo el servidor?
7. Hasta la trama 45 se puede observar una secuencia de tramas del
protocolo STUN.
* ¿Por qué se hace uso de este protocolo?
* ¿Podrı́as decir si estamos tras un NAT o no?
8. La trama 46 es la primera trama SIP. En un entorno como el de Internet, lo habitual es desconocer la dirección IP de la otra parte al
realizar una llamada. Por eso, todo usuario registra su localización en
un servidor Registrar. El Registrar guarda información sobre los
usuarios en un servidor de localización que puede ser utilizado para
localizar usuarios.
* ¿Qué dirección IP tiene el servidor Registrar?
* ¿A qué puerto (del servidor Registrar) se envı́an los paquetes
SIP?
* ¿Qué método SIP utiliza el UA para registrarse?
* Además de REGISTER, ¿podrı́as decir qué instrucciones SIP entiende el UA?
[Al terminar el ejercicio es recomendable hacer commit de los ficheros modificados]
9. Fijémonos en las tramas siguientes a la número 46:
* ¿Se registra con éxito en el primer intento?
* ¿Cómo sabemos si el registro se ha realizado correctamente o no?
* ¿Podrı́as identificar las diferencias entre el primer intento y el
segundo de registro? (fı́jate en el tamaño de los paquetes y mira
a qué se debe el cambio)
* ¿Cuánto es el valor del tiempo de expiración de la sesión? Indica
las unidades.
10. Una vez registrados, podemos efectuar una llamada. Vamos a probar
con el servicio de eco de Ekiga que nos permite comprobar si nos
hemos conectado correctamente. El servicio de eco tiene la dirección
sip:[email protected]. Veamos el INVITE de cerca.
* ¿Puede verse el nombre del que efectúa la llamada, ası́ como su
dirección SIP?
* ¿Qué es lo que contiene el cuerpo de la trama? ¿En qué formato/protocolo está?
* ¿Tiene éxito el primer intento? ¿Cómo lo sabes?
* ¿En qué se diferencia el segundo INVITE más abajo del primero?
¿A qué crees que se debe esto?
11. Una vez conectado, estudia el intercambio de tramas.
* ¿Qué protocolo(s) se utiliza(n)? ¿Para qué sirven estos protocolos?
* ¿Cuál es el tamaño de paquete de los mismos?
* ¿Se utilizan bits de padding?
* ¿Cuál es la periodicidad de los paquetes (en origen; nota que la
captura es en destino)?
* ¿Cuántos bits/segundo se envı́an?
[Al terminar el ejercicio es recomendable hacer commit de los ficheros modificados]
12. Vamos a ver más a fondo el intercambio RTP. En Telephony hay una
opción RTP. Empecemos mirando los flujos RTP.
* ¿Cuántos flujos hay? ¿por qué?
* ¿Cuántos paquetes se pierden?
* ¿Cuál es el valor máximo del delta? ¿Y qué es lo que significa el
valor de delta?
* ¿Cuáles son los valores de jitter (medio y máximo)? ¿Qué
quiere decir eso? ¿Crees que estamos ante una conversación de
calidad?
13. Elige un paquete RTP de audio. Analiza el flujo de audio en Telephony
-> RTP -> Stream Analysis.
* ¿Cuánto valen el delta y el jitter para el primer paquete que
ha llegado?
* ¿Podemos saber si éste es el primer paquete que nos han enviado?
* Los valores de jitter son menores de 10ms hasta un paquete
dado. ¿Cuál?
* ¿A qué se debe el cambio tan brusco del jitter?
* ¿Es comparable el cambio en el valor de jitter con el del delta?
¿Cual es más grande?
14. En Telephony selecciona el menú VoIP calls. Verás que se lista la
llamada de voz IP capturada en una ventana emergente. Selecciona
esa llamada y pulsa el botón Graph.
* ¿Cuánto dura la conversación?
* ¿Cuáles son sus SSRC? ¿Por qué hay varios SSRCs? ¿Hay CSRCs?
15. Identifica la trama donde se finaliza la conversación.
* ¿Qué método SIP se utiliza?
* ¿En qué trama(s)?
* ¿Por qué crees que se envı́a varias veces?
16. Finalmente, se cierra la aplicación de VozIP.
* ¿Por qué aparece una instrucción SIP del tipo REGISTER?
* ¿En qué trama sucede esto?
* ¿En qué se diferencia con la instrucción que se utilizó con anterioridad (al principio de la sesión)?
[Al terminar el ejercicio es recomendable hacer commit de los ficheros modificados]
Captura de una sesión SIP
17. Dirı́gete a la web http://www.ekiga.net con el navegador y créate
una cuenta. Lanza Ekiga, y configúralo con los datos de la cuenta
que te acabas de crear. Comprueba que estás conectado (En la barra
al final de la ventana podrás ver “Connected”). Al terminar, cierra
completamente Ekiga.
18. Captura una sesión SIP de una conversación con el número SIP sip:[email protected].
Recuerda que has de comenzar a capturar tramas antes de arrancar
Ekiga para ver todo el proceso3 .
19. Observa las diferencias en el inicio de la conversación entre el entorno
del laboratorio y el del ejercicio anterior4 :
* ¿Se utilizan DNS y STUN? ¿Por qué?
* ¿Son diferentes el registro y la descripción de la sesión?
20. Identifica las diferencias existentes entre esta conversación y la conversación anterior:
* ¿Cuántos flujos tenemos?
* ¿Cuál es su periodicidad?
* ¿Cuánto es el valor máximo del delta y los valores medios y
máximo del jitter?
* ¿Podrı́as reproducir la conversación desde Wireshark? ¿Cómo?
Comprueba que poniendo un valor demasiado pequeño para el
buffer de jitter, la conversación puede no tener la calidad necesaria.
* ¿Sabrı́as decir qué tipo de servicio ofrece sip:[email protected]?
[Al terminar el ejercicio es recomendable hacer commit de los ficheros modificados]
21. Filtra por los paquetes SIP de la captura y guarda únicamente los
paquetes SIP como p5.pcapng. Abre el fichero guardado para cerciorarte de que lo has hecho bien. Deberás añadirlo al repositorio.
[Al terminar el ejercicio es recomendable hacer commit de los ficheros modificados]
[Al terminar la práctica, realiza un push para sincronizar tu repositorio GitHub]