Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Comunicaciones
Tema 1
Introduccin
Enfoques de desarrollo
Desarrollo orientado al cdigo
Desarrollo basado en modelos
Dominios de aplicacin
3 3
Algunas caractersticas
Algunas caractersticas que
que lo
lo hacen
hacen complicado
complicado
Empotrado en
Empotrado en hardware
hardware especfico
especfico (complica
(complica el
el test)
test)
Comportamiento reactivo
Comportamiento reactivo (no
(no termina)
termina)
Con informacin
Con informacin dede estado
estado (sesiones)
(sesiones)
Sistema de
Sistema de tiempo
tiempo real
real (cumplimiento
(cumplimiento de de tiempos)
tiempos)
Sistema distribuido
Sistema distribuido (mltiples
(mltiples nodos
nodos heterogneos)
heterogneos)
4 4
Requisitos del software de
comunicaciones
5 requisitos del software y/o metodologa de desarrollo
o Disponibilidad
o Fiabilidad
o Escalabilidad
o Capacidad
o Productividad
5 5
6 6
7 7
8 8
Estrategias para abordar la complejidad
Organizacin en capas
9 9
Organizacin en capas:
La organizacin en capas permite separar funciones de
manipulacin de datos y de control
10 10
11
Normas de protocolos
Documentos en lenguaje natural, no formales
Diferentes organismos y tipo de normas
Internet RFCs
Redes pblicas fijas CCITT, ITU-T
Rede mviles 3GPP, ETSI
Ejemplos de normas
RFC SMTP- Protocolo para correo electrnico
Protocolos de sealizacin en redes de telefona mvil
12 12
Estrategias para abordar la complejidad
13 13
14 14
15 15
16
Protocolo descrito en SDL
17
18
18
19
19
NetworkLayer2
C4 ToNetworkLayer2
C1
ToNetworkLayer1
C3
FromNetworkLayer1 FromNetworkLayer2
DataLayer1 DataLayer2
FromPhysicalLayer1 FromPhysicalLayer2
C1 C2
ToPhysicalLayer2
ToPhysicalLayer1
C5
C2 PhysicalLayer
LoseNextFrame
20
20
Protocolo descrito en SDL
process DataLayer1
DCL
Idle next, expected Integer,
s, r Frame,
buffer Packet;
FromPhysicalLayer1 timer T1;
T1
(r)
r!seq=expected
false
true
ToNetworkLayer1
(r!info)
expec ted:=1-expected;
r!ack=next
true
next:=0,
Wait
expec ted:=0
FromNetworkLayer1
Init T1
(buffer)
FromNetworkLayer1
Wait next:=1-next
(buffer)
s!info:=buffer, false
s!seq:=next,
s!ac k:=1-expected
ToPhysicalLayer1
(s)
SET
(NOW+1, T1)
Idle
21
21
en SDL
buffer Packet;
next:=1, timer T1;
expected:=0
Idle
FromPhysicalLayer2
T1
(r)
r!seq=expected
false
true
ToNetworkLayer2
(r!info)
expected:=1-expected;
r!ack=next
false
true
Wait
FromNetworkLayer2
T1
(buffer)
Wait next:=1-next
s!info:=buffer,
s!seq:=next,
s!ack:=1-expected
ToPhysicalLayer2
(s)
SET
(NOW+100000, T1)
Idle
22
22
23
24 24
Programas (aplicaciones de Internet)
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include "socks5.h"
main() {
int sockfd,n,result;
struct sockaddr_in serv_addr;
char buf[1024],serv_host_addr[30],username[255], passwd[255];
if ((sockfd=socket(AF_INET,SOCK_STREAM,0))<0) {
perror("cliente no puede abrir stream socket\n");
return -1;
}
/*inicializacion de la variable serv_addr*/
serv_addr.sin_family=AF_INET;
serv_addr.sin_addr.s_addr=inet_addr(serv_host_addr);
serv_addr.sin_port=htons(SERV_PROX_PORT);
bzero(buf,sizeof(buf));
25
/* comprobaciones adicionales */
26
27
Anlisis de prestaciones/rendimiento
o Hay que asegurar
Que se cumplen los tiempos de respuesta
Que se puede atender el nmero de peticiones o de trfico
Que se mantiene el lmite de uso de recursos (memoria, CPU, energa,..)
o Algunas posibilidades
Simuladores de red tipo ns-2, ns-3, OPNET (en diseo)
Pruebas de carga (varios clientes contra un servidor)
Herramientas de profiling sobre el cdigo
Monitorizacin de trfico y post-procesado (Wireshark)
33
Diseo Manual
Semi-automtico
Descripcin Norma textual
Modelo (SDL,UML,..)
Generacin de Manual - programa
cdigo
Automtico
Simuladores
usualmente
accedidos
via web
Aplicaciones
distribuidas
(correo, ftp,
redes
Algunos dominios de aplicacin
sociales,
serv. web,
otras no
estandard
S),
Protocolos
de soporte
para
multimedia
(IMS), para
arquitectura
s
distribuidas
(
Stacks de
equipos de
acceso y
nodos de la
red carrier
grade
Stacks
TCP/I P en
el sistema
operativo
Drivers y
protocolos
de bajo
nivel
Vxworks, Linux RT
Lenguajes, sistemas
Android, iOS,
Leng. script
SDL, UML
Java, C#
Symbian
operativos
C++
C
Bibliografa
3GPP: http://www.3gpp.org/
ETSI: http://www.etsi.org/
37 37