TimeOut RTT medido 1 5 seg. 2*5= 10 1 2 0,7 3 TimeOut 3 TimeOut 3 0,001 4 0,35 5 0,44



Documentos relacionados
Arquitectura de Redes y Servicios de Telecomunicación (ARST) Cuestiones y Problemas Propuestos

Introducción a la programación con sockets en C

Migrando aplicaciones a IPv6

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. CAPÍTULO 8: El nivel de transporte en Internet

Tema 5 El Modelo Cliente-Servidor

Estructuras y funciones de programación de sockets.

Bibliografía [COM00] Internetworking with TCP/IP, vol. 3, Cap. 2 y del 7 al 15.

Introducción de Sockets en C.

Sockets: funcionamiento y programación. Sockets tipo UNIX. MSc. Ivan A. Escobar

Tema 4: Sockets: Un interfaz con TCP/IP

Introducción Mensajes UDP. Asignación de puertos a procesos. Bibliografía [COM06] Internetworking with TCP/IP, Cap. 11.

Práctica 1 Programación de Aplicaciones Distribuidas: Sockets UDP. Laboratorio de Comunicación de Datos ITT Telemática Septiembre 2011

Arquitectura de Redes y Servicios de Telecomunicación

Problemas de Redes de Computadores. Conjunto de problemas 1

SOCKET S. Alberto Castro Rojas

Adaptación de aplicaciones a IPv6

Análisis Experimental de la Transmisión de Datos

COMUNICACIÓN ENTRE PROCESOS SOCKETS

Tema 4.1: - TRANSPORTE-

Nivel de Transporte en Internet

Qué es un socket? Dominios de comunicación. Tipos de sockets en el dominio AF_INET. Sockets Stream. Sockets Datagram. Sockets Raw

Redes (IS20) Ingeniería Técnica en Informática de Sistemas - (2º Curso)

TELEPROCESO Y SISTEMAS DISTRIBUIDOS

Curso de Redes Computadores 1 Tema 3 Introducción a la capa de transporte. Interfaz de programación en redes. Sockets.

Mecanismos IPC: sockets


Índice general. Tipos de servicio de transporte. Por qué un nivel de transporte? TEMA 6 Funciones de los niveles superiores. Miguel A.

sockets Flujo (SOCK_STREAM) Comunicación bidireccional Confiable (entrega garantizada) Información ordenada en el destino Datagrama (SOCK_DGRAM)

Sockets (UDP) Tema 2.- Nivel de aplicación en Internet

Sockets Básicos. Sockets Básicos


Programación con sockets

Examen de Fundamentos de Redes de Computadores Junio 2005

Programación C/S Básica

Diseño de aplicaciones distribuidas ÍNDICE

Sockets Básicos. APIS para acceso a TCP/IP. APIS para acceso a TCP/IP. APIS para acceso a TCP/IP. APIS para acceso a TCP/IP. Temas a tratar...

UNIVERSIDAD DE ALCALÁ - DEPARTAMENTO DE AUTOMÁTICA Área de Ingeniería Telemática LABORATORIO DE COMUNICACIÓN DE DATOS (CURSO 2011/2012)

Redes de Computadoras Junio de Teoría y problemas (75 %)

Capa de TRANSPORTE. Ing. José Martín Calixto Cely Original: Galo Valencia P.

ARQUITECTURA DE REDES Laboratorio

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

Tema 4 Sockets: Un interfaz con TCP/IP

Problemas de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Conjunto de problemas 1

ARQUITECTURAS CLIENTE/SERVIDOR

Arquitecturas cliente/servidor

Práctica 2 Programación de Aplicaciones Distribuidas: Sockets TCP. Laboratorio de Comunicación de Datos ITT Telemática 26 de Septiembre 2011

Redes de Computadores - Soluciones

Mecanismo(s) de intercambio de información entre 2 ó más computadores conectados entre sí o a través de otros.

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED

Redes de Computadoras Junio de Teoría y problemas

Protocolo IP. Campos del paquete IP:

Examen de Redes - ETSIA 9 de septiembre - Primer Parcial

Ingeniería Técnica de Telecomunicación, esp. Telemática Universidad de Jaén

SISTEMAS DE COMUNICACIONES DE DATOS

Laboratorio de Redes de Computadores

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED

TCP: Carácterísticas Establecimiento y finalización de conexiones

Examen Parcial II de Sistemas Telemáticos I 2 o Ingeniería de Telecomunicación

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

Nivel de transporte: UDP

Sockets (TCP) Tema 2.- Nivel de aplicación en Internet

Conceptos básicos de redes TCP/IP

UNIVERSIDAD DE CANTABRIA DEPARTAMENTO DE INGENIERÍA DE COMUNICACIONES GRUPO DE INGENIERÍA TELEMÁTICA

Analista Universtiario en Sistemas. Sistemas Operativos. IPC - Sockets SOCKETS

Examen Final de Redes - ETSIA - 24 de junio de 2006

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

Redes de computadores. Práctica 3

Programación con Sockets

-> Todo socket viene definido por dos características fundamentales:

Interfaz de Socket. Agustín J. González ELO309 ELO309 1

Estructuras y funciones de programación de sockets.

TEMA 5: EL TELNET SERVICIOS DE COMUNICACIONES

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP

Servidor FTP. Ing. Camilo Zapata Universidad de Antioquia

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

Examen de Redes - Primer Parcial - ETSIA 26 de Enero de 2006

Arquitectura de Redes

Introducción a las Redes de Computadoras

Tutorial BMS Server Studio UDP

Características de un lenguaje ideal para robótica

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. Monitorización de una LAN

INTRODUCCIÓN. El protocolo TCP, funciona en el nivel de transporte del modelo de referencia OSI, proporcionando un transporte fiable de datos.

Redes de Computadores - Problemas y cuestiones

CAPITULO 2 COMUNICACION ATRAVES DE LA RED

Modem IBM Compatible. IBM Compatible. Ethernet IBM AS/400. Laser printer. Workstation. Mac II. El Interfaz. Socket. versión perliminar

Servicios de Internet

Práctica de laboratorio 4.5.2: Protocolos de la capa de Transporte TCP/IP, TCP y UDP Diagrama de topología

Juan de Dios Murillo Morera Santiago Caamaño Polini INTRODUCCIÓN

01/10/ Conjunto de protocolos TCP/IP. Contenido. a. TCP/IP Internet OSI. a. TCP/IP Internet OSI. b. Nivel de red Protocolo IP

Problemas de Arquitectura de Redes, Sistemas y Servicios 2 o Grado en Ingeniería en Tecnologías de Telecomunicación Conjunto de problemas 6

EXÁMEN ASIGNATURA REDES CURSO: CUARTO INGENIERÍA INFORMÁTICA CONVOCATORIA SEPTIEMBRE 1997

Fig.1 Redes conectadas a Internet a través de routers IP

ALB-W sp WHITE PAPER. White Paper. Medida del throughput con transmisiones sobre TCP. Septiembre Medida del throughput sobre TCP

Redes (4º Ing. Informática Univ. Cantabria)

3.1 Introducción a Wireshark

Programación de aplicaciones distribuidas usando sockets

2 El protocolo TCP 2.1 INTRODUCCIÓN

IP Internet Protocol. Funcionalidades: Esquema global de direcciones Fragmentación / reensamblado Ruteo

I. Verdadero o Falso (15 puntos)

2 Sea una unidad de disco duro de brazo móvil con las siguientes características:

Transcripción:

ARQUITECTURA DE REDES Y SERVICIOS DE TELECOMUNICACIÓN Junio 2014 Teoría: 1) Qué sucedería si por error recibiera UDP un datagrama UDP que originalmente iba destinado a otra máquina?. (0,5 ptos) 2) Asumiendo que la ventana del receptor TCP es siempre 1 (stop&wait) y suponiendo alfa=0,4 y beta=2, simular la transmisión de los segmentos 1, 2, 3, 4 y 5 donde el segmento 3 requiere dos retransmisiones. Rellenar las celdas de la tabla suponiendo que el valor inicial de RTT estimado es 5 segundos. (0,5 ptos) Seq RTT estimado TimeOut RTT medido 1 5 seg. 2*5= 10 1 2 0,7 3 TimeOut 3 TimeOut 3 0,001 4 0,35 5 0,44 Nota 1: En el envío del paquete 4 se ha tomado como RTTestimado el estimado para el paquete 3. Nota 2: Supóngase que el Timeout se calcula con la siguiente expresión: TOut = β*rtt estimado 3) En una LAN con un RTT estimado de 1 ms, indica la velocidad mínima de transmisión que debe alcanzarse en esta red para que se logre una utilización del 100% de su capacidad con una única conexión TCP. (0.5 ptos) NOMBRE Y APELLIDOS:

4) Supongamos que abrimos una conexión TCP con un servidor remoto para transferir un fichero de 39,5 KBytes. Una vez establecida la conexión, los parámetros iniciales de la misma son los siguientes: (1 pto) Parámetro Valor Descripción MSS 500 Tamaño máximo de segmento (en bytes) CWND 500 Tamaño de la ventana de congestión (en bytes) SSTHRES 8000 Umbral (Slow Start Congestion Avoidance) en bytes RCWND* 10000 Tamaño de la ventana de recepción (en bytes) RTT 500 Tiempo de ida y vuelta (roundtrip) en milisegundos TIMEOUT 2*RTT Tiempo límite del temporizador (*) Tamaño de la ventana de recepción que el otro extremo nos ha indicado (a) Suponiendo que (1) el RTT es constante a lo largo de la conexión y (2) no se pierde ningún segmento, dibuja en un gráfico la evolución de los parámetros CWND, SSTHRES. Segmentos (MSS) 20 18 16 14 12 10 8 6 4 2 1 2 3 4 5 6 7 8 9 10 Tiempo (segundos) (b) Lo mismo que el apartado (a) pero suponiendo que (1) se producen dos eventos de pérdida (se pierde el primer segmento enviado) en los RTTs número 5 y 10 (2,5 y 5 segundos respectivamente) y (2) en el instante 5,5 se recibe una indicación de ventana de 3000 bytes. 2

Segmentos (MSS) 20 18 16 14 12 10 8 6 4 2 1 2 3 4 5 6 7 8 9 10 Tiempo (segundos) (c) Calcula la velocidad de transferencia (bps) que observa el usuario en ambos 5) Al utilizar el interfaz de sockets para implementar un servidor secuencial TCP, cuál es la finalidad de la cola creada mediante la llamada listen? Tiene sentido utilizar esta cola cuando se está implementando un servidor concurrente TCP?. Justifica las respuestas. (0.5 ptos) 3

6) Suponiendo que tenemos un socket conectado de tipo SOCK_STREAM, indique lo que tendremos que hacer para (1) enviar un mensaje como datos urgentes TCP, y (2) utilizar la función PUSH de TCP para el envío de mensajes a través de una conexión. Acompañar las respuestas con ejemplos de uso (pseudo-código). (0.5 ptos) 7) A qué tipo de servidor corresponde cada uno de los siguientes esquemas?(0.5 ptos) Fork Maestro Esclavo.2 Esclavo.1 Esclavo.n Aplicación Maestro Esclavo-1 Esclavo-1 Esclavo-1 Esclavo-n Aplicación Servidor App. Level Msock Ssock Ssock Ssock S.O. Socket BC Sistema Operativo a) b) c) Msock UDP Msock TCP Ssock S.O. Level Maestro Fork Esclavo.1 Esclavo.n Aplicación Servidor Servidor Aplicación Ms.1 Ms.n Es.1 Es.k Ms.1 Ms.2 Ms.n Ms.1 Ms.2 Ms.n Es.1 Es.k S.O. d) e) f) S.O. Diagrama a) b) c) d) e) f) Tipo de servidor 4

8) Cita tres circunstancias en las cuales sea preferible un servidor sin conexión a un servidor con conexión. (0.5 ptos) 9) A continuación se muestra la ejecución del siguiente comando: (0.5 ptos) arss70@obelix:~$ telnet localhost 37 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. È*ýConnection closed by foreign host. arss70@obelix:~$ a) Para qué se ha usado el comando? b) Qué significado tienen los caracteres È*ý? 10) Tanto en correo electrónico como en NEWS, el final de un mensaje se delimita con la secuencia <CR><LF><.><CR><LF>. Qué ocurre si dentro del texto del mensaje tenemos una línea de texto que sólo tiene un punto decimal (carácter <.>) en la primera columna? Cómo procederíamos en este caso? (0,5 ptos) 5

11) Se dispone de un servidor FTP del que queremos bajarnos un fichero que está públicamente disponible (acceso anónimo), Podríamos descargar el fichero utilizando un cliente TELNET? Justifica la respuesta. (0.5 ptos) 12) Sea una fuente de 5 símbolos con sus probabilidades de aparición A(0.8), B(0.05), C(0.05), D(0.05) y E(0.05). Indicar la secuencia de bits resultante al comprimir la secuencia AAA con Huffman y una codificación aritmética. (0.5 ptos) 13) Cuál es el objetivo de una función hash?, indica al menos una aplicación de seguridad en la que se utiliza. (0.5 ptos) 6

Prácticas: (1) En la práctica 1 se analizó el comportamiento del protocolo TCP a través del analizador de protocolos Wireshark. Se utilizó el fichero pr.pcap que contiene una captura de una transferencia FTP de un archivo pdf de 3.5 MB aproximadamente. En la figura se muestra la evolución de los números de secuencia. cuál ha sido la razón del corte producido entre los instantes 0.5 y 0.6? (0.75 ptos) 7

(2) En la práctica sobre el control de congestión en TCP obtenemos una gráfica como la que se muestra abajo. Qué representan cada una de las series?, Por qué tienen forma de escalera?, A qué se debe la pequeña diferencia entre las dos series?. Justifica las respuestas. (0.75 ptos) 8

(3) Detecta y corrige los fallos que encuentres en la siguiente implementación del servidor de echo estándar concurrente con conexión. (0.75 ptos) #include <netdb.h> #include <stdio.h> #include <string.h> #define LINELEN 80 #define QLEN 5 char *service = "37"; // El puerto bien conocido de echo es 7 void main (int argc, char *argv[]) { char buff[linelen]; struct sockaddr_in serv_addr, cli_addr; int ms, ss, cli_size, nbuf; struct servent *pse,*ppe; // struct protoent *ppe; switch (argc) { case 2: service = argv[1]; case 1: break; default: fprintf (stderr, "Uso: %s [port]\n",argv[0]); exit (1); } memset((char *)&serv_addr,0,sizeof(serv_addr)); serv_addr.sin_family= AF_INET; serv_addr.sin_addr.s_addr=inaddr_any; if (pse=getservbyname(service,"tcp")) serv_addr.sin_port=pse->s_port; else if ((serv_addr.sin_port=htons(atoi(service)))==0) errexit("servicio desconocido\n"); if ((ppe=getprotobyname("tcp"))==0) errexit("no encuentro el protocolo tcp\n"); ms=socket(af_inet,sock_stream,ppe->p_proto); if (bind(ms,&serv_addr,sizeof(serv_addr))<0) errexit("no puedo instalar el servidor\n"); } while(1) { if((ss=accept(ms,&cli_addr,&cli_size))<0) errexit("error al aceptar nuevos clientes\n"); if (fork()) close(ms); else { close(ss); while ((nbuf=read(ms,buff,linelen))>0) write(ms,buff,sizeof(buff)); close(ms); exit(0); } } 9

(4) En la práctica cuatro se utilizó el módulo ACE (Application Characterization Environment) de OPNET IT Gurú para estudiar y analizar el rendimiento de las aplicaciones de red. La figura de abajo representa la información que una de las herramientas ACE ha suministrado acerca del rendimiento de una transferencia FTP en un escenario con pérdidas. Podrías indicar las conclusiones que se obtienen de esta gráfica? (0.75 ptos) 10

Anexo A: Formatos de cabecera de protocolos TCP/IP cabecera IP 0 4 8 16 19 24 31 vers longc tipo servicio longitud total identificación flags desplaz. fragmento tiempo vida protocolo checksum de la cabecera dirección IP fuente dirección IP destino opciones IP (variable) relleno DATOS ICMP (Echo request/echo reply) ARP 0 8 16 31 tipo de hardware tipo de protocolo lon. dir. física lon. dir. prot. operación dirección física fuente (octetos 0-3) dir. fís. fuente (octetos 4-5) direc. IP fuente (octetos 2-3) dir. IP fuente (octetos 0-1) dir. física 2 (otetos 0-1) dirección física 2 (octetos 2-5) dirección IP 2 (octetos 0-3) ICMP (destino inalcanzable) cabecera tipo (8 o 0) código (0) checksum identificador datos opcionales... número de secuencia TCP 5 4 3 2 1 0 Campo código: URG-ACK-PSH-RST-SYN-FIN 0 4 10 16 24 31 Puerto TCP origen checksum Número de secuencia Puerto TCP destino Número de reconocimiento longc reservado código ventana opciones (si las hay) DATOS puntero a datos urgentes relleno tipo (3) código (0-12) checksum no se emplea (debe ser cero) cabecera IP + 64 primeros bits del datagrama UDP 0 16 31 Puerto origen UDP Puerto destino UDP Longitud mensaje Checksum DATOS Puertos bien conocidos Identificadores de protocolos echo 7/tcp/udp TCP 0x06 daytime 13/tcp/udp UDP 0x11 chargen 19/tcp/udp ttytst source ICMP 0x01 ftp-data 20/tcp Tipos de Tramas ftp 21/tcp IP 0x0800 telnet 23/tcp ARP 0x0806 smtp 25/tcp mail RARP 0x8035 domain 53/tcp/udp nameserver Novel 0x8137 tftp 69/udp Campo Flags del paquete IP finger 79/tcp Bit 0 N/A (Not Assigned) www 80/tcp Bit 1 DF (Don t Fragment) pop3 110/tcp postoffice Bit 2 MF (More Fragments) nntp 119/tcp usenet news 11

Anexo B: Relación de rutinas y llamadas al sistema /* Definición de una dirección IP */ struct in_addr { u_long s_addr; } /* Definición de una dirección de socket */ struct sockaddr_in { short sin_family; /* familia de direcciones */ u_short sin_port; /* número de puerto */ struct in_addr sin_addr; /* dirección IP */ char sin_zero[8]; /* buffer de relleno. Inicializado a ceros */ } /* Declaración de funciones que podemos utilizar */ extern errexit (char *formato, int error); extern int strcmp (char *dest, char *orig); extern void bcopy (char *origen, char *destino, int nbytes); extern void bzero (char *data, int nbytes); extern char * fgets (char * buffer, int size, int fd); extern int socket (int af, int type, int protocol); extern int connect (int s, const void *addr, int addrlen); extern int accept (int socket, struct sockaddr *dir_clnt, int *dir_size); extern int bind (int s, struct sockaddr *addr, int addrlen); extern int listen (int s, int qlen); extern int read (int sock, char *buffer, int size); extern int write (int sock, char *buffer, int size); extern int sendto (int sock, char *buffer, int size, int flags, struct sockaddr *to, int addrlen); extern int recvfrom (int sock, char *buffer, int size, int flags, struct sockaddr *to, int *addrlen); extern int close (int sock); extern int shutdown (int sock, int c); extern int select (int nfds, fd_set * rfds, fd_set * wfds, fd_set * excp, struct timeval * timeout); FD_ZERO (fd_set* set); FD_SET (sock, fd_set* set); FD_ISSET (sock, fd_set* set); extern int connecttcp (char *host, char *service); extern int connectudp (char *host, char *service); extern int passivetcp (char *service, int qlen); extern int passiveudp (char *service); extern int fork( ); 12