INGENIERÍA INFORMÁTICA PRÁCTICAS DE REDES PROTOCOLO TCP. José Luis González Sánchez CURSO

Tamaño: px
Comenzar la demostración a partir de la página:

Download "INGENIERÍA INFORMÁTICA PRÁCTICAS DE REDES PROTOCOLO TCP. José Luis González Sánchez CURSO"

Transcripción

1 INGENIERÍA INFORMÁTICA PRÁCTICAS DE REDES CURSO PROTOCOLO TCP José Luis González Sánchez 1

2 1 HERRAMIENTAS UTILIZADAS SCRIPTS TCL SINTAXIS BÁSICA VARIABLES COMANDOS ANIDADOS UTILIZACIÓN DE COMILLAS Y LLAVES ESTRUCTURAS DE CONTROL DE DÓNDE VIENEN LOS COMANDOS? OTRAS CARACTARISTICAS MÁS INFORMACIÓN SCRIPTS TCL PARA CREAR ESCENARIOS PARA NS LOS EVENTOS MONITORIZACIÓN DE UNA COLA CREACIÓN DE FICHEROS DE TRAZA PARA Xgraph ASPECTOS GENERALES DEL PROTOCOLO TCP CONTROL DE FLUJO MEDIANTE MECANISMO DE VENTANA DESLIZANTE CONTROL DE CONGESTIÓN DEL PROTOCOLO TCP CÓMO SE CONTROLA LA CONGESTIÓN? EVOLUCION DEL CONTROL DE CONGESTION IMPLANTACIÓN DE LAS DISTINTAS VERSIONES DE TCP THROUGTPUT Y PROBABILIDAD DE PÉRDIDA ADAPTACIÓN DEL ANCHO DE BANDA ESCENARIO MULTIPUNTO MULTIPUNTO

3 1. HERRAMIENTAS UTILIZADAS. Este estudio se apoya fundamentalmente en el uso de la herramienta NS (Network Simulator) que se va a usar para analizar el comportamiento del protocolo de la capa de transporte TCP. Hay múltiples versiones disponibles de NS en la red; además de las versiones que se proporcionan en la página de la asignatura ( ), en donde se pueden encontrar paquetes de instalación precomplidados, preparados para ser instalados bajo distintos tipos de sistemas (all-in-one), o componentes de estos paquetes por separado. NS es una aplicación desarrollada para entornos Unix /Linux, y se recomienda la utilización de estos sistemas operativos para la instalación y ejecución de la aplicación, aunque también pueden usarse simuladores de Unix como puede Cygwin. Cygwin es un programa que simula un sistema Unix dentro de un sistema Windows, y puede obtenerse de Desde este sitio puede obtenerse un ejecutable que se encarga de buscar en Internet los espejos desde donde instalar todos los componentes de Cygwin. Algunos de los componentes necesarios a incluir en la instalación de Cygwin son Xfree86-base, Xfree86-bin, Xfree86-prog, Xfree86-lib, Xfree86-etc; aunque, si no se ha elegido la opción de instalar todo, durante la instalación de NS se solicitará la instalación de varios componentes más. En cualquier momento se tiene acceso a la instalación de estos componentes con el ejecutable de instalación de Cygwin. Es recomendable que la instalación de Cygwin se haga en el directorio C:\cygwin y asegurarse de que no hay espacios en blanco en el path de instalación. Una vez instalado Cygwin, o conseguido el software de NS para Unix y/o Linux, los pasos a seguir son los siguientes: Copiar el archivo ns-allinone-2.27.tar.gz en el directorio home de Linux o de Cygwin; habitualmente algo como C:\cygwin\home\nicolas Ejecutar Cygwin ( también se puede lanzar el Xfree con el comando startx) Desde un prompt ejecutar los siguientes comandos: gzip d c ns-allinone-2.27.tar.gz tar xvf cd ns-allinone-2.27 /install Comenzará la instalación, que durará varios minutos. Es posible que el instalador avise de la falta el paquete diff, pero este mensaje puede ser ignorado ya que probablemente el paquete esté ya instalado; para comprobarlo, puede teclearse el comando diff v y podrá verse la versión de este paquete y no un error. Si el aviso es sobre cualquier otro paquete habrá que localizarlo e instalarlo con el ejecutable de instalación de Cygwin. Actualizar el fichero ~/.bashrc añadiendo los siguientes comandos: export NS_HOME=/home/xxx/ns-allinone-2.27/ export PATH=$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/bin:$PATH export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:\ $NS_HOME/otcl-1.8.:NS_HOME/lib:$LD_LIBRARY_PATH export TCL_LIBRARY=$NS_HOME/TCL8.4.5/library Donde /home/xxx/ns-allinone-2.27/ comando pwd. deberá ser reemplazado por lo que devuelva el 3

4 Nota: la descripción completa y detallada de los pasos a dar en la instalación de esta y otras versiones de NS para Cygwin pueden encontrarse en: Si la instalación es realizada sobre un sistema Linux es, con diferencia, más rápida que la descrita. Básicamente con descomprimir el paquete all-in-one correspondiente y ejecutar el script./install, ya estaríamos compilando los componentes. Sea cual sea la opción elegida, una vez instalado NS, se podrá ejecutar el comando: $ns <tclscrip> y surgirán las ventanas gráficas con el resultado del script tcl introducido. Los componentes que se instalan y configuran para la utilización de NS son: Tcl Tk Otcl TclCL Ns TclDebug Nam Xgraph GT-ITM Topology SGB CWEB ZLib 4

5 2. SCRIPTS TCL 2..1 SINTAXIS BÁSICA Los scripts TCL se construyen a partir de comandos, separados por ; o en líneas independientes. Los comentarios se indican con el carácter #. Todos los comandos tienen el mismo formato, por ejemplo: expr Cada comando TCL consiste en una o varias palabras donde la primera de ellas se corresponde con el nombre del comando y las otras son los argumentos de ese comando. En este caso, el comando expr devuelve como un string el resultado de la operación aritmética indicada en los parámetros. Todos los comandos TCL devuelven un resultado, aunque se trate de un string vacío VARIABLES Para almacenar y leer valores en una variable se utiliza el comando set, por ejemplo: set x 32 Almacena el valor 32 en la variable x, o bien, set x Con el que se retorna el valor contenido en la variable x. No es necesaria la declaración de variables ni tipos en TCL ya que cada variable es creada automáticamente la primera vez que toma un valor. Para utilizar el valor de una variable en un comando, se indica de la siguiente manera: expr $x*3 Las letras y dígitos que siguen al símbolo $ son tomadas como el nombre de una variable y el comando opera con el valor que ésta representa. Ejemplo: set cmd expr set x 11 $cmd $x*$x 2..3 COMANDOS ANIDADOS. Para anidar comandos se utilizan los corchetes. Por ejemplo: set a 44 set b [expr $a*4] 5

6 2..4 UTILIZACIÓN DE COMILLAS Y LLAVES Si observamos los siguientes comandos: set x 24 set y 18 set z "$x + $y es [expr $x + $y]" Tas la evaluación de estos 3 comandos, la variable z tendrá el valor es 42, es decir, se almacena en la variable z una cadena de caracteres pero utilizando el valor de las variables y expresiones que estén contenidas en dicha cadena; sin embargo, si utilizamos las llaves: set z {$x + $y es [expr $x + $y]} el valor de la variable z es: $x + $y es [expr $x + $y] 2..5 ESTRUCTURAS DE CONTROL Las estructuras de control en TCL son también comandos que toman scripts TCL como argumentos. El siguiente ejemplo muestra un procedimiento que eleva una base a una potencia entera: proc potencia {base p} { set result 1 while {$p > 0} { set result [expr $result * $base] set p [expr $p - 1] } return $result } Este script consiste en un único comando, proc. El comando proc toma 3 argumentos: el nombre del procedimiento, una lista de nombres de argumentos, y el cuerpo del procedimiento, que es un script TCL. El comando proc crea un nuevo comando TCL llamado potencia que toma dos argumentos. Ahora se podría invocar el comando potencia de alguna de estas maneras: potencia 2 6 potencia cuando se invoca potencia, el cuerpo del procedimiento es evaluado accediendo a sus argumentos como variables: base y p El script correspondiente al cuerpo del procedimiento contiene 3 comandos TCL: set, while, y return. El comando while tiene dos argumentos, una expresión ($p>0) y un cuerpo, que como se puede intuir, es otro script TCL. 6

7 2..6 DE DÓNDE VIENEN LOS COMANDOS? Los comandos TCL son creados de tres formas. Un grupo de comandos es proporcionado por el intérprete TCL, estos comandos reciben el nombre de builtin commands. El segundo grupo de comandos es creado utilizando el mecanismo de extensión TCL. TCL proporciona APIs que permiten crear un nuevo comando mediante la escritura de un command procedure en C o C++. Tras registrar el nuevo comando en el intérprete TCL se podrá utilizar este comando como si fuera un builtin command, ya que, de hecho, los builtin commands son implementados utilizando este mecanismo de extensión; los procedimientos de sus comandos son simplemente parte del TCL library. También existen numerosos paquetes de extensión (extension packages que pueden ser incorporados a cualquier aplicación TCL. Una de las extensiones más conocidas es Tk, que proporciona utilidades muy potentes para la creación de interfaces gráficas. Otras extensiones proporcionan programación orientada por objetos, acceso a base de datos, etc. El tercer grupo de comandos consiste en procedimientos creados con el comando proc, como el procedimiento potencia anterior. Normalmente las extensiones son utilizadas para funciones de bajo nivel donde es conveniente la programación en C, y los procedimientos son utilizados para funciones de más alto nivel, donde es más sencillo utilizar TCL OTRAS CARACTERÍSTICAS. TCL tiene muchos otros comandos además de los utilizados en los ejemplos anteriores: Más estructuras de control como if, for, foreach, y switch. Manipulación de strings Entrada/Salida, incluyendo ficheros, sockets y dispositivos como puertos serie. Gestión de ficheros (lectura y escritura de atributos, copia, borrado, directorios...) Se pueden ejecutar otras aplicaciones con el comando exec y comunicarse con ellas mientras se ejecutan. Creación y manipulación de listas y arrays. Manipulación de fecha y hora. Eventos: TCL permite a los scripts esperar a que ocurran eventos como la disponibilidad de datos en un socket MÁS INFORMACIÓN Tcl books: A short summary of Tcl syntax Detailed manual entries for Tcl and Tk SCRIPTS TCL DE CREACIÓN DE ESCENARIOS PARA NS Ns utiliza un script TCL que implementa un escenario, para crear unos ficheros que contienen la información necesaria a partir de la cual se representa gráficamente el comportamiento de la red. El esquema básico de un script TCL para implementar un escenario puede ser el siguiente: En primer lugar se necesita crear un objeto simulador; para ello se utiliza el siguiente comando: 7

8 set ns [new Simulator] Se puede abrir un fichero que será utilizado para visualizar los datos de traza del Nam: set nf [open out.nam w] $ns namtrace-all $nf El primer comando abre el fichero out.nam para escritura y le asigna el identificador nf; y en la segunda línea se indica al objeto simulador creado que escriba en este fichero todos los datos de la simulación que sean relevantes para Nam. El siguiente paso consiste en crear el procedimiento finish, cuyo cometido será cerrar todos los ficheros de traza y ejecutar Nam: proc finish {} { global ns nf $ns flush-trace close $nf exec nam out.nam & exit 0 } Con la siguiente línea se le dice al objeto simulador que ejecute el procedimiento finish a los 5 segundos de simulación. $ns at 5.0 "finish" El comando at proporciona una forma simple de indicar eventos en NS. La última línea ejecuta la simulación: $ns run El código descrito hasta ahora supone el esqueleto básico de cualquier script TCL para ns; sin embargo, no está completo, ya que no se han definido eventos ni objetos, es decir, nodos, enlaces, envío de datos, etc. Este código debe ser introducido antes de la línea que ejecuta ns ($ns run) o incluso mejor antes de la línea ($ns at 5.0 "finish") Las siguientes dos líneas definen dos nodos: set n0 [$ns node] set n1 [$ns node] El comando $ns node crea un objeto nodo, y se le asignan los identificadores n0 y n1. La siguiente línea conecta dos nodos: $ns duplex-link $n0 $n1 1Mb 10ms DropTail Esta línea indica al objeto simulador que conecte los nodos n0 y n1 con un enlace duplex con un ancho de banda de 1 Megabit, un retardo de 10 ms y una política de gestión de cola DropTail. 8

9 Hasta ahora sólo podemos ver la topología de la red, pero no sucede nada, el siguiente paso es enviar algún dato desde un nodo a otro. En ns, los datos siempre se envían de un agente a otro, por eso el siguiente paso es crear un objeto agente que envíe datos desde el nodo n0, y otro objeto agente que reciba datos en el nodo n1. #Crea un agente UDP y lo asigna al nodo n0 set udp0 [new Agent/UDP] $ns attach-agent $n0 $udp0 # Crea una fuente de tráfico CBR y lo asigna a udp0 set cbr0 [new Application/Traffic/CBR] $cbr0 set packetsize_ 500 $cbr0 set interval_ $cbr0 attach-agent $udp0 Estas líneas crean un agente UDP en el nodo n0, y se le añade un generador de tráfico CBR (constant bit rate) al agente UDP. Las líneas que siguen a las anteriores indican, cómo cabe intuir, una inicialización del tamaño del paquete de 500 bytes u octetos, y que cada paquete será enviado cada 5 ms, es decir, 200 paquetes por segundo. Las líneas de código que se muestran a continuación crean un agente Null que actúa como receptor en el nodo n1. set null0 [new Agent/Null] $ns attach-agent $n1 $null0 Ahora se deben conectar los agentes entre sí: $ns connect $udp0 $null0 Por último se debe indicar al agente CBR cuándo comenzar y parar de enviar datos. (Estas líneas deben ponerse antes de la línea que indica el final de la simulación: $ns at 5.0 "finish" ) $ns at 0.5 "$cbr0 start" $ns at 4.5 "$cbr0 stop" 9

10 Vamos a complicarlo un poco. Definición de topologías. Partiendo del código que se ha descrito anteriormente, que va ser común a todos los escenarios que implementemos, es decir, la creación de un objeto simulador, la ejecución de la simulación con el mismo comando, la apertura e inicialización de un fichero de traza, la creación de un procedimiento que cierra este fichero y ejecuta el Nam. Se pueden crear cuatro nodos mediante la inserción del siguiente nuevo código: set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] y se pueden crear conexiones entre ellas con el siguiente código: $ns duplex-link $n0 $n2 1Mb 10ms DropTail $ns duplex-link $n1 $n2 1Mb 10ms DropTail $ns duplex-link $n3 $n2 1Mb 10ms DropTail Con estas líneas se expresa que los enlaces entre los nodos indicados son de tipo duplex, que el ancho de banda de la conexión es de 1Mb, con un retardo de 10ms y una cola del tipo DropTail. Si se desea tener un mayor control sobre la disposición de los nodos en la representación que hace Nam, se tiene la opción de introducir estas líneas de código, las cuales indican como se disponen los nodos atendiendo a sus conexiones: $ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link-op $n2 $n3 orient right Nota: estas líneas son totalmente opcionales y sólo afectan a la presentación de los nodos, Nam también ofrece otros mecanismos para presentar disposiciones aleatorias de los nodos hasta encontrar una idónea. 10

11 2..10 LOS EVENTOS Ahora se crean dos agentes UDP, fuentes de tráfico CBR, y se asignan a los nodos n0 y n1; y un agente Null que se asigna al nodo n3. #Create a UDP agent and attach it to node n0 set udp0 [new Agent/UDP] $ns attach-agent $n0 $udp0 # Create a CBR traffic source and attach it to udp0 set cbr0 [new Application/Traffic/CBR] $cbr0 set packetsize_ 500 $cbr0 set interval_ $cbr0 attach-agent $udp0 #Create a UDP agent and attach it to node n1 set udp1 [new Agent/UDP] $ns attach-agent $n1 $udp1 # Create a CBR traffic source and attach it to udp1 set cbr1 [new Application/Traffic/CBR] $cbr1 set packetsize_ 500 $cbr1 set interval_ $cbr1 attach-agent $udp1 set null0 [new Agent/Null] $ns attach-agent $n3 $null0 Los agentes que emiten el tráfico CBR deben estar conectados al agente Null encargado de recibirlo. $ns connect $udp0 $null0 $ns connect $udp1 $null0 El primer agente CBR enviará datos a partir del segundo 0,5 de la simulación, y parará en el segundo 4,5 mientras que el otro agente CBR comenzará en el segundo 1,0 y parará en el segundo 4,0. $ns at 0.5 "$cbr0 start" $ns at 1.0 "$cbr1 start" 11

12 $ns at 4.0 "$cbr1 stop" $ns at 4.5 "$cbr0 stop" Si se ejecuta el script con ns, se puede observar que el tráfico entre los nodos n0 y n2, y,n1 y n2 es mayor del que el enlace entre n2 y n3 puede soportar. Esto es porque estamos enviando 200 paquetes por segundo, cada uno de 500 bytes, en cada uno de los dos primeros enlaces; Esto supone un ancho de banda de 0.8 Mb/s por segundo para los enlaces entre n0 y n2, y, n1 y n2. Esto da como resultado un ancho de banda para el enlace entre n2 y n3 de 1.6 Mb/s pero hemos definido el ancho de banda de la conexión entre estos dos nodos de 1 Mb/s, luego el nodo n2 tiene que descartar algunos paquetes. Puede ser conveniente distinguir entre los paquetes enviados por un nodo u otro. Desde Nam existe la posibilidad de clicar en uno de los paquetes para ver su procedencia y su comportamiento. Otra forma es marcar los flujos de datos. Si se añaden estas líneas a la definición de los agentes CBR, $udp0 set class_ 1 $udp1 set class_ 2 y se incluyen estas otras líneas tras el objeto simulador, ya que serían parte de la inicialización del simulador: $ns color 1 Blue $ns color 2 Red se pueden ver los flujos representado con los colores rojo y azul MONITORIZACIÓN DE UNA COLA. Tan sólo hay que añadir la siguiente línea al código para monitorizar la cola en el enlace entre los nodos n2 y n3. $ns duplex-link-op $n2 $n3 queuepos 0.5 Ahora la ejecución de ns mostrará un esquema como el siguiente, donde se pueden ver los paquetes en la cola, e incluso cómo estos van siendo descartados: 12

13 2..12 CREACIÓN DE FICHEROS DE TRAZA PARA Xgraph. En este caso, hay que indicar en el script TCL, al igual que con nam, que se ejecute esta aplicación tomado unos ficheros de traza cuya información representará en unos gráficos. De la misma forma que hemos hecho con el fichero de traza de Nam, tenemos que: Definir y abrir los ficheros. set f0 [open xxx.tr w] set f1 [open yyy.tr w] Donde xxx.tr e yyy.tr son los nombres que reciben los ficheros en el sistema operativo. Cerrarlos y ejecutar Xgraph dentro del procedimiento finish. proc finish {} { global f0 f1 #Cierre de los ficheros de traza close $f0 close $f1 close $f2 #Ejecuta xgraph para mostrar las gráficas exec xgraph xxx.tr yyy.tr -geometry 800x400 & exit 0 } Si estamos utilizando al mismo tiempo Nam y Xgraph el procedimiento finish deberá cerrar también el fichero de traza de Nam y ejecutar Nam como ya hemos visto. Escribir los datos en los ficheros de traza. Para esto se utiliza un procedimiento llamado record : proc record {} { global tcp f0 f1 #obtenemos una instancia del simulador set ns [Simulator instance] #Indicamos el tiempo tras el cual se repite la ejecución (tiempo de muestreo) set time #Obtenmos los valores que se van a representar en la gráfica, en nuestro caso, la ventana de congestión y el sstresh set cwnd0 [$tcp set cwnd_] set ssthresh0 [$tcp set ssthresh_] 13

14 #obtenemos el tiempo del momento acutal set now [$ns now] #Escribimos en el fichero el par de valores (tiempo cwnd) puts $f0 "$now $cwnd0" #Escribimos en el fichero el par de valores (tiempo ssthresh) puts $f1 "$now $ssthresh0" #Ejecutamos nuevamente el procedimiento pasado el tiempo definido antes $ns at [expr $now+$time] "record" } Se han elegido los valores correspondientes a la ventana de congestión y al ssthresh porque son estos los valores sobre los que vamos a enfocar nuestros estudios para observar el comportamiento del protocolo TCP, pero se pueden utilizar otros valores como por ejemplo el número de bytes para almacenar en los ficheros de traza el ancho de banda de las diferentes conexiones. (ver ejemplo de 14

15 URG 3. ASPECTOS GENERALES DEL PROTOCOLO TCP TCP (Transmission Control Protocol) es un protocolo de transporte que implementa sus servicios sobre el protocolo de red IP. Esto significa que las tareas de control de flujo, corrección de errores, eliminación y secuenciamiento de datagramas IP, se hacen en este nivel con el fin de poder ofrecer un canal de flujo continuo a los procesos comunicantes. Tal vez TCP sea el protocolo más complejo e importante de la pila de protocolos. TCP presenta un servicio orientado a la conexión ofreciendo fiabilidad, a pesar de estar implementado sobre IP que es un protocolo de red no orientado a la conexión ni fiable. TCP aporta fiabilidad mediante el control de flujo, control de errores y control de congestión. Servicio Orientado a Conexión: La transmisión de datos de nivel de transporte presenta tres etapas: o establecimiento de la conexión o intercambio de datos o liberación de la conexión. Como peculiaridad, ambos extremos pueden transmitir y recibir datos simultáneamente. Los datos de la aplicación son troceados en segmentos del tamaño que TCP considera adecuado. Servicio Fiable: TCP es el primer nivel de la pila TCP/IP en el que se proporciona fiabilidad. Objetivo: Recuperar pérdidas y desórdenes producido por IP. Ideas principales: o Los segmentos con datos llevan un número de secuencia. o El receptor de los datos debe enviar asentimientos o confirmaciones (ACK). o Para cada segmento con datos transmitido se espera un plazo de tiempo a que llegue su asentimiento. Si vence el plazo, se retransmite el segmento. o Para asentimientos y retransmisiones se utiliza un protocolo de ventana. o El receptor reordena segmentos desordenados y descarta los duplicados. Los segmentos pueden llegar fuera de orden, puesto que debajo de TCP está IP (que es no orientado a la conexión, o sea, datagrama), y por tanto TCP debe reordenar los segmentos antes de pasarlos a la aplicación y sin duplicación alguna. La unidad de datos de TCP es el segmento, los cuales son encapsulados en datagramas IP. Estos segmentos de datos presentan una cabecera fija de 20 octetos que se muestra a continuación: Bit Puerto de origen Puerto de destino 20 octetos Desplaza- 6 bits reservados miento Número de secuencia Número de confirmación (ACK) Siguiente segmento esperado ACK RST PSH SYN FIN Tamaño de Ventana Suma de comprobación (CRC) Puntero a datos urgentes ~ Opciones + Relleno (0 o más palabras de 32 bits) 40 bytes máximo ~ ~ Datos de usuario ( = bytes como máximo) ~ 15

16 Como puede observarse, esta cabecera encaja muy bien con la cabecera IP. Seguidamente se explican los campos de la cabecera y los importantes mecanismos que implementa TCP para recuperación de información, control de flujo y control de congestión. Puerto origen y puerto destino (source port and destination port): Son números enteros de 16 bits cada uno (2 octetos), que designan el punto donde los procesos tienen acceso al servicio de comunicación TCP. La asignación del número de puerto al proceso iniciador de la comunicación es generalmente aleatoria, no así la del que responde (generalmente, otro proceso que habrá de prestarle un servicio). En TCP se han designado algunos puertos con número fijos bien conocidos (well-known ports), para los procesos que prestan ciertos servicios de uso habitual. Número de secuencia (sequence number): Marcando la diferencia entre un paquete IP y un segmento TCP, el número de secuencia de cuatro octetos, indica la posición, en el caudal de datos, del primer byte (octeto) perteneciente al segmento. El número no identifica al segmento, sino a una porción de aquel caudal ininterrumpido de bytes (stream), que fluye a través de una conexión TCP. Número de reconocimiento o acuse de recibo (acknowledgment number): El reconocimiento, de cuatro octetos tampoco identifica a un segmento particular. Se trata de un reconocimiento acumulativo. El número indica la posición en el stream del byte de menor número que el receptor aún no ha recibido (se supone que es igual al número de secuencia del siguiente byte a recibir). Obsérvese que el reconocimiento a un segmento puede enviarse en un segmento de datos, perteneciente a quien debe generar tal reconocimiento (piggybacking). Longitud de la cabecera (HLeng) Es un campo de cuatro bits que indica la cantidad de palabras de 4 octetos que se destinarán al campo opciones. Este número bien podría ser variable y con ello la cabecera igualmente, por lo tanto se hace necesario conocer su longitud. Debido a ello como máximo podrán ir destinadas 16 palabras de 4 octetos en este campo opciones. Espacio reservado (6bits) para futuros usos y mejoras del protocolo. Control o Code: Es un campo con 6 bits, utilizados como banderas, que permiten establecer el propósito y contenido del segmento y el cómo interpretar los otros campos del encabezado. Cada bit o bandera se puede interpretar con la siguiente tabla: Bit Significado: URG El campo apuntador urgente es válido. ACK El campo reconocimiento es válido PSH Este segmento debe enviarse solo. RST Reinicie conexión. SYN Sincronizar números de secuencia. FIN El emisor finaliza sus envíos Ventana (Window): Este campo es parte de otras de las funcionalidades de TCP: El control de flujo. TCP aprovecha el concepto de ventana deslizante, no solamente para aumentar el aprovechamiento del medio, sino también para permitir al receptor informar al emisor sobre su capacidad de 16

17 almacenamiento. Este campo del encabezado TCP indica el volumen de datos (bytes), que el receptor puede recibir para procesar. El emisor usa este valor para establecer el tamaño de su ventana de envío. Si en determinado momento el valor es cero, cuando el emisor reciba el segmento dejará de enviar datos. Checksum: Los checksums o sumas de verificación, son valores empleados para confirmar la integridad de los datos. El emisor calcula el checksum sobre los datos que enviará y lo incluye dentro del paquete. El receptor lo calcula nuevamente al recibir los datos y lo compara con el valor del emisor. Si son distintos es altamente probable que los datos hayan sido alterados durante la transmisión. Sin embargo, el checksum TCP (y también de UDP), es especial por cuanto en su cálculo no se considera solamente el segmento TCP. A este se le "agrega" (realmente no se le agrega, se considera para el checksum) un pseudo-encabezado que incluye las direcciones IP de las máquinas emisora y receptora. Puntero urgente (urgent pointer): TCP presta el servicio de envío de datos urgentes. Esto significa que el "cliente" de TCP puede solicitar que ciertos datos sean enviados tan rápido como sea posible. En tal caso, el emisor indica, con el bit URG del campo de control, que ese segmento contiene datos urgentes. Este campo (urgent pointer) señala la posición, en el cauce (stream), donde comienzan los datos urgentes. Opciones (options): Este campo es utilizado para el diálogo entre los dos módulos TCP. Se usa, por ejemplo, para establecer el tamaño máximo de segmento a intercambiar (maximum segment size). Este valor debe ser producto de una negociación que tome en cuenta el tamaño de los buffers, disponibles en cada extremo, y el desperdicio de ancho de banda con datos de control. 3.1 CONTROL DE FLUJO MEDIANTE MECANISMO DE VENTANA DESLIZANTE Algoritmo de Parada y espera Los protocolos de comunicación en general incorporan diversos algoritmos de confirmación de datos que pueden ser usados como control de flujo. Uno de los algoritmos de confirmación de datos es el conocido protocolo de parada y espera que garantiza un intercambio de datos seguro mediante un mecanismo de acuses de recibo. El algoritmo de parada y espera se basa en el envío desde el receptor al emisor de ACK por cada paquete recibido. El emisor deduce que el paquete ha sido recibido correctamente cuando recibe el ACK. Mientras el receptor realiza como única acción importante el envío del ACK por cada paquete recibido, el emisor del tráfico realiza las siguientes acciones: Almacena un registro de cada mensaje enviado. Activa el temporizador al envío del paquete. Espera el ACK Si ACK no llega antes de expirar el temporizador, reenvía el paquete. Si ACK llega, envía el siguiente paquete. 17

18 3.1.2 Mecanismo de Ventana deslizante La ineficiencia de algoritmos como el anterior causa que la mayor parte del tiempo la red no transporte datos sino ACK. Por ello TCP usa un mecanismo de ventana deslizante para: Garantizar la entrega fiable de datos. Garantizar que los datos serán entregados en orden. Forzar un control de flujo entre el emisor y el receptor. El control de flujo en el nivel de transporte es muy importante porque las velocidades a las que pueden llegar los datos al receptor son muy variables y de este modo el receptor puede comunicarle al emisor lo que está preparado para recibir. Se implementa mediante el uso de la ventana deslizante que permite cambiar el tamaño en el tiempo y que funciona según lo que se va a comentar en esta sección. Si pensamos en un control de flujo, función que deben realizar los protocolos de transporte, en el que el receptor indica el ritmo de envío del transmisor en función de sus recursos (buffer de recepción, capacidad de proceso, recursos de red, etc), podría funcionar si ambos, emisor y receptor están en la misma red, pero, qué es lo que pasa si el tráfico debe atravesar varias redes? Los routers normalmente no disponen de la capa TCP (como ya se ha mencionado TCP es un protocolo extremo a extremo, y los dos extremos son las aplicaciones que residen en los hosts). A la larga, el control de flujo tendría que acomodar el ritmo de envío a lo que permitiese la zona más congestionada, pero de todas formas siempre podrían perderse datagramas por diversos motivos. Tráfico excesivo Congestión RTO (1) sin recibir ACK Más tráfico Retransmisión (1) RTO: Round Trip Overtime. Tiempo en que se espera la recepción de la confirmación de un paquete (ACK) El emisor tiene un buffer en el que se van acumulando los segmentos que están preparados para enviar al receptor. Inicialmente envía la ventana de transmisión y, a medida que el receptor va devolviendo los ACK, los segmentos se van eliminando de la ventana de transmisión y se marcan como paquetes confirmados. Los que no están confirmados permanecen en la ventana de transmisión y la ventana deslizante no avanza. Este comportamiento puede observarse en la siguiente figura. Ventana de transmisión Buffer de transmisión Ventana de transmisión Bytes confirmados bytes enviados y a la espera de ACK por el receptor (paquetes on-flight) 18

19 El receptor dispone de un buffer que será el total de bytes que puede recibir. A medida que le van llegando segmentos irá enviando al emisor los ACK correspondientes y se irán señalando como ACK que se han enviado al emisor. El envío de ACK al emisor indica a éste el número de segmentos que puede seguir enviando sin que se desborde el buffer de recepción (ventana variable). La siguiente figura representa este funcionamiento. Ventana de recepción Buffer de recepción Ventana anunciada ACKs enviados al ACKs preparados para emisor enviar al emisor Se define un tamaño de ventana, que será el número de paquetes o cantidad de datos que se puede enviar sin esperar reconocimiento de ellos desde el receptor. Conforme se recibe el reconocimiento de los primeros paquetes transmitidos la ventana avanza de posición enviando los paquetes siguientes. Los ACK pueden recibirse en forma desordenada. Si el protocolo sólo contara con reconocimientos positivos gran parte de la capacidad de la red estaría desperdiciada, pues no se enviarían más paquetes hasta recibir el reconocimiento del último paquete enviado. El concepto de ventana deslizante permite que exista una continua transmisión de información, mejorando el rendimiento (throughput) de la red. El mecanismo de la ventana deslizante podría resumirse en los siguientes puntos: TCP ve el flujo de datos como una secuencia de bytes, la cual es dividida en segmentos para su transmisión. El mecanismo de ventana en TCP permite: 1. El envío de múltiples segmentos antes de que un reconocimiento sea recibido. El emisor envía un conjunto de bytes etiquetados con un numero de secuencia y espera que el receptor le responda con un único mensaje de confirmación. 2. Permite al receptor restringir la ventana de transmisión hasta que tenga suficiente espacio para recibir más datos. El receptor va indicando los mensajes que han sido recibidos y la ventana va pasando o deslizándose a los siguientes bytes a enviar a medida que los bytes son enviados correctamente. La ventana funciona y es vista como una secuencia de bytes y no como segmentos, mensajes o paquetes. Los bytes del flujo de datos están numerados secuencialmente. El emisor utiliza 3 apuntadores para definir la ventana: uno al principio, otro al final y otro en la posición de llenado actual. 19

20 El receptor cuenta con una ventana similar. En la siguiente figura podemos ver el mecanismo que incorpora TCP para el control de flujo y la recuperación de mensajes: Cuando se recibe un mensaje erróneo, éste será indicado al emisor que reenviará todos los paquetes a partir del anterior. En la figura se observa que si, por el contrario, se ha perdido un segmento, el emisor lo reenviará. En cuanto al mecanismo de reenvío hemos de destacar la existencia del temporizador de timeout que determina cuándo se ha perdido un paquete, al no recibir el emisor el ACK correspondiente al mensaje enviado. Del mismo modo, el receptor se encarga de mostrar esta pérdida al emisor mediante el envío de ACK duplicados. La variable timeout se usa para manejar la congestión. El temporizador es variable para poder adaptarse a las distintas condiciones que surgen en la red. Si el temporizador es demasiado corto se puede producir la confusión de entender como pérdida de paquetes la simple demora de éstos. Si el timeout es grande, se tardará demasiado en detectar las pérdidas y se desperdiciará el ancho de banda esperando ACK que no llegarán. Por ello el temporizador debe adaptarse a las condiciones de cada conexión. Se puede usar una estimación del RTT que se puede actualizar para cada ACK que llega. Esta estimación puede calcularse con la siguiente expresión: RTT=(α*RTT) + (1- α) * (RTT sample) Suele usarse un valor de α=7/8, para representar reacciones lentas a los cambios. Si se tiene una estimación del promedio de RTT se define un timeout igual al doble de ese valor promedio. Sin embargo, en situaciones de congestión elevada, la varianza de RTT aumenta considerablemente, llegando al doble del RTT medio. Para reflejar estas posibilidades TCP calcula también la desviación estándar del RTT y usa la varianza multiplicada por el RTT como timeout: DIFF=RTT sample-rtt RTT=RTT- α*diff MDEV=MDEV+ α*(abs(diff)-mdev) 20

21 3.2 CONTROL DE CONGESTIÓN DEL PROTOCOLO TCP TCP implementa un conjunto de algoritmos con los que proporciona una comunicación fiable extremo a extremo. Puede definirse congestión como la situación en la que el rendimiento de la red, o de una parte de ella, se degrada debido a la presencia de tráfico excesivo. El hecho de proporcionar una comunicación fiable entre dos hosts implica, entre otras cosas, que hay que encontrar la forma de controlar que los paquetes enviados lleguen al destino sin perderse en el camino; y si se pierden, proporcionar los medios necesarios para detectar la pérdida y volver a reenviarlos. Estas funciones son implementadas por los algoritmos de control de congestión y de recuperación de segmentos perdidos del protocolo TCP. Hay una diferencia importante entre congestión y control de flujo. El control de flujo suele hacerse en conexiones punto a punto, es decir, nivel de enlace o transporte. El control de congestión consiste en ejercer el control de flujo sobre los nodos que están produciendo la congestión. El control de congestión es un problema más complejo que el control de flujo pues el emisor del tráfico es un intermediario que lo más que puede hacer es reenviar el mensaje de control de congestión hacia atrás. Normalmente, cuando el mensaje llega al verdadero causante de la congestión el tráfico ya habrá cesado y será tarde para tomar medidas. El problema es aún mayor en redes de alta velocidad y gran retardo o gran distancia. Puede abordarse la congestión desde dos puntos de vista: Procurar que nunca se produzca la congestión. Tomar medidas para detectar la congestión y adoptar medidas correctoras en caso de producirse. Es necesario comprender que entre los factores del nivel de transporte que pueden influir en la congestión se pueden encontrarlos dos siguientes: El valor del intervalo de timeout o temporizador, ya que si es pequeño se generarán retransmisiones inncesarias. El tamaño de la ventana, ya que si es grande es más fácil que se produzca congestión, porque enviará más paquetes a la vez. Para resolver congestiones el descarte de paquetes debería ser el último recurso. Es habitual que los paquetes transporten indicación de su grado de importancia, en cuyo caso los routers intentarán descartar aquellos paquetes que lleven información menos relevante. Así es grave que para resolver congestiones se descarten paquetes de ACK. La capa de aplicación suele ser la que aporta la información sobre la prioridad de descarte del tráfico. En aplicaciones de tiempo real suele ser preferible descartar paquetes viejos a paquetes nuevos pues el viejo es inútil ya que su retransmisión provocará más problemas que ventajas. Sin embargo en las aplicaciones de transferencia de archivos el receptor necesita recibir todos los paquetes y el más antiguo generará la retransmisión por timeout. Además, hay que tener presente que en no pocos casos un paquete es parte de una secuencia correspondiente a otro paquete de mayor tamaño que fue fragmentado. En estos casos, si se descarta un paquete cualquiera de la secuencia del paquete originalmente fragmentado, tendrá que retransmitirse todo el grupo, por lo que al descartar uno de ellos es conveniente descartar todos los demás ya que son tráfico no válido que sobrecarga la red. Es necesario un mecanismo, llamado Control de congestión, encargado de disminuir el ritmo de envío a la red cuando ésta está próxima a la congestión. Pero, cómo saber en qué punto puede congestionarse algún punto de la red? Al inicio de la conexión el emisor desconoce el estado de la red; incluso no es seguro que ese estado sea constante durante una comunicación. La solución que propone TCP son los algoritmos Slow Start (que pone a prueba la capacidad de la red mediante el aumento progresivo del ritmo de envío de datagramas hasta detectar congestión) y Congestion Avoidance (que, una vez que se conoce la capacidad de la red, trata de 21

22 evitar llegar a la congestión de ésta). A estos dos clásicos algoritmos se unen también Fast retransmit y Fast recovery. Estos cuatro son los más significativos pero no los únicos y no todas las versiones de TCP los implementan todos. En cualquier caso tienen como principal cometido el lograr que TCP haga uso apropiado de los recursos de la red intentando solventar las posibles congestiones tal como se va a presentar a continuación. Hemos de destacar que la pérdida de segmentos causada por errores en los datos es mínima en la actualidad por el despliegue de la fibra óptica (con muy baja tasa de errores) y por la calidad de las infraestructuras en las redes actuales. Si hay pérdidas de segmentos es generalmente por congestión en alguna parte de la red. Un pérdida se detecta cuando se produce alguna de las situaciones siguientes: Ocurre timeout. Se reciben 3 ACK duplicados. 3.3 CÓMO SE CONTROLA LA CONGESTIÓN? La congestión aparece por una sobrecarga en los nodos de conmutación de la red, lo que provoca un incremento del retardo y retransmisiones que agravan la situación. TCP intenta solucionar la congestión reduciendo la inyección de segmentos en la red. El estándar actual recomienda dos técnicas relacionadas y fáciles de implementar que son los algoritmos Show Stara y Congestion avoidance. Antes de describir cómo funcionan estos algoritmos de TCP es necesario conocer algunos conceptos y definiciones [RFC 2581]: SEGMENTO. Se utiliza para designar cualquier paquete TCP/IP, ya sea un paquete de datos o uno de reconocimiento (ACK). RWND (Receiver Window). Indica la cantidad máxima de datos que puede recibir un receptor de trafico TCP. CWND (Congestion Window). Representa el valor de la ventana de congestión que es una variable que limita la cantidad de datos que TCP puede enviar (en ningún momento TCP podrá enviar segmentos con un número de secuencia mayor que la suma del ACK con mayor número de secuencia recibido y el menor de los tamaños de las variables rwnd y cwnd). El valor de cwnd variará dependiendo de las condiciones de la red. Si la red no descarta paquetes, el tamaño de la ventana aumentará, aumentando la velocidad de transmisión del emisor. SMSS (Sender Maximum Segment Size). Es el mayor tamaño de segmento que puede transmitir el emisor. La cantidad máxima de datos que el emisor puede enviar. RMSS (Receiver Maximum Segment Size). Es el mayor tamaño de segmento que el receptor puede admitir. La cantidad máxima de datos que el receptor puede recibir. IW (Initial Window). Valor inicial que toma la ventana de congestión. RTT (Round Trip Time). Tiempo que transcurre desde que el segmento ha sido enviado, hasta que se recibe la confirmación de que ha sido recibido por el receptor. El RTT determina la velocidad de transmisión de TCP, ya que el emisor TCP envía cada RTT el tamaño determinado por cwnd. CURRENT WINDOW. Representa la cantidad de información que envía el emisor cada RTT. Esta variable toma el valor más pequeño de entre cwnd y rmss. SSTHRESH. Esta variable se utiliza para determinar qué mecanismo de control de congestión, Slow Start o Congestion Avoidance se debe aplicar en cada instante y según el siguiente algoritmo: Si cwnd ssthresh Aplica algoritmo Slow Start 22

23 Si cwnd > ssthresh Aplicar algoritmo Congestion Avoidance Algoritmo Slow Start El protocolo TCP está diseñado para controlar el envío y recepción de segmentos TCP a fin de evitar momentos de congestión en la red. Inicialmente, y desde las primeras versiones de TCP, se realizaban las comunicaciones con el destino enviando segmentos TCP de manera continuada y sin hacer control alguno, prevaleciendo únicamente el tamaño de la ventana que imponía el receptor. Esta técnica de desplazamiento de ventana es una técnica de control del flujo impuesta por el receptor de segmentos TCP con el fin de evitar momentos de congestión en el computador receptor. Durante el proceso de inicialización de una conexión TCP, el proceso TCP de cada computador da a conocer los parámetros de control ventana y máximo tamaño de segmento. Con estos dos parámetros, el proceso de envío de segmentos del protocolo TCP puede calcular el máximo número de segmentos que puede recibir el proceso de recepción del protocolo TCP en un momento determinado. El parámetro ventana, incluido en una cabecera TCP, es un registro de 16 bits y el valor del mismo puede variar durante el envío y recepción de segmentos TCP hasta llegar al punto de que sea igual a cero. Cuando esto ocurre indica que el proceso de recepción de segmentos no está en capacidad de recibir ningún segmento TCP ya que el buffer de recepción se encuentra completamente lleno. Esto obliga al proceso de envío de segmentos TCP del computador remoto a no transmitir ningún segmento hasta que el parámetro de control ventana sea mayor o igual a un segmento. Por tanto, el emisor maneja dos tamaños para la ventana: el de congestión y el que informa el receptor. El tamaño usado es siempre el menor de ambos valores. La ventana de congestión parte con tamaño 1, y sólo al recibir los ACK aumenta su valor. Esta técnica de desplazamiento o deslizamiento de ventana funciona si la conexión TCP se establece en una red local, pero cuando la conexión TCP se establece a través de una red WAN los enrutadores pueden experimentar momentos de congestión ya que los mismos interactúan con un servicio de conexión no orientado y la capacidad de envío y recepción de datos de un enlace WAN en la mayoría de los casos es mucho menor que el de una red LAN. Para resolver este inconveniente el protocolo TCP hace uso de la técnica de comienzo lento (aunque no es precisamente lento ya que el ritmo de envío del tráfico es exponencial) Slow Start, cuya finalidad es consultar y detectar el estado de la red y adecuar el flujo TCP en consecuencia. Intenta evitar que una nueva conexión intente transferir desde el inicio demasiados datos a una red congestionada. La idea por tanto consiste en que la nueva conexión empiece a transmitir despacio aumentando su tasa de transferencia gradualmente según las condiciones de la red. Para ello se define una nueva variable, la ventana de congestión cwnd, que limitará la cantidad de segmentos que el emisor podrá enviar al receptor para no inundar la red o no inundar al receptor y, en consecuencia, no provocar una situación de congestión. De esta forma, el emisor y el receptor negocian para ello un valor inicial de ventana, que suele tomar valor 1. El emisor colocará segmentos en la red a la velocidad a la que reciba los ACK s desde el otro extremo (receptor), de manera que sólo al recibir ACK s se incrementará el tamaño de cwnd. Este cwnd provocará que en la siguiente retransmisión generalmente se realice con el doble de tamaño y así sucesivamente. La forma en que se detecta o averigua la capacidad de la red es bastante simple: si se comienzan a descartar paquetes se asume que el tamaño era más grande que la capacidad de la red. Durante el establecimiento de la conexión, el otro extremo indica su ventana de recepción. Se calcula el tamaño de una segunda ventana de congestión con el propósito de moderar la transmisión de acuerdo con las condiciones de la red. Por lo tanto, el emisor quedará limitado por la ventana de congestión en lugar de por la ventana de recepción (que es mayor). La ventana de congestión comienza con un segmento (valor inicial de CWND=1). A partir de ahí por cada segmento del que recibe un ACK correctamente, aumenta en un segmento la 23

24 ventana de congestión, mientras sea menor que la de recepción. Si la red no se encuentra sobrecargada, la ventana de congestión alcanza pronto el tamaño de la ventana de recepción. La ventana crece a su tamaño natural exponencialmente: Tras el primer ACK, la ventana de congestión es de 2 segmentos. Al llegar un ACK para 2 segmentos, la ventana se incrementa para 4 segmentos. Si llega otra confirmación para estos 4, la ventana se incrementa a 8 y así sucesivamente. Es decir, el emisor colocará segmentos en la red a la velocidad a la que reciba los ACK desde el otro extremo. Sólo al recibir ACK se incrementará (el doble) el tamaño de CWND, tal como se representa en la siguiente figura. Como podemos observar y, aunque por lo general no se comporta como una progresión cuadrática, podemos aproximar el tamaño de la ventana de congestión cwnd en cada retransmisión de la siguiente manera: CWND (t + 1) = CWND (t) * 2 ; O lo que es lo mismo: CWND (t) = CWND (t-1) * 2 ; En la gráfica anterior podemos observar cómo el número de segmentos enviados cada RTT usando la ventana CWND crece de forma exponencial. En la siguiente gráfica podemos ver cómo aumenta el número de segmentos enviados en cada RTT: 24

25 De esta manera, como hemos explicado anteriormente, el aumento de tamaño de la ventana de congestión cwnd depende de los ACK s que se vayan recibiendo desde el receptor, por lo que igualmente se está dependiendo de la congestión que pudiera existir o no en la red. Por tanto, podemos decir que a mayor congestión, menos ACK s recibidos y, por consiguiente, la ventana de congestión cwnd será más pequeña y retransmitirá menos segmentos TCP en ese instante de tiempo. Vemos como el algoritmo Show Stara es un mecanismo útil de control de congestión: A mayor congestión, menos ACK recibidos, lo que implica que el tamaño de CWND será más pequeño y por lo tanto se transmitirán menos segmentos en ese momento. La primera transmisión será de 1 segmento (*) de tamaño máximo igual al anunciado por el receptor (RMSS). Valor inicial de cwnd (IW): 1 segmento (en realidad 1 * MSS bytes). Cuando recibe el ACK correspondiente, cwnd se incrementa para permitir 2 segmentos (cwnd=2*mss) (1+1). Si la ventana ofrecida (rwnd) es mayor o igual, el transmisor envía 2 segmentos. (*) Definición original de Slow start: IW=1 segmento; Versión actual RFC 2581 (1999) IW 2 x MSS; IW 2 segmentos. por qué utilizar IW > 1? Política 1 ACK cada 2 segmentos. RTT muy grande (ejemplo: enlace satélite). Cada vez que recibe un ACK, el emisor incrementa en uno el número de segmentos transmitidos (incrementa el tamaño de la ventana de congestión). De esta forma, la primera vez se envía un segmento; al recibir su ACK correspondiente se aumenta en uno cwnd y se envían ahora dos segmentos de los que se espera recibir dos ACK; luego, al recibirlos, cwnd se incrementará en dos y en el próximo envío transmitirá 4 segmentos de los que espera recibir los correspondientes 4 ACK. Esta situación se mantiene mientras el valor de cwnd sea: Menor que rwnd, Menor que ssthresh y no exista congestión. A pesar del nombre del algoritmo, estamos por tanto frente a un incremento exponencial (cwnd se va duplicando) de la ventana de congestión al inicio. En ausencia de congestión se alcanza la ventana máxima (=rwnd) en aproximadamente RTT * log 2 (rwnd) segundos. Slow Start hace oscilar la ventana de congestión en torno a su valor ideal. Así se ajusta la velocidad a la que se deben transmitir los datos. Su principal problema es su agresividad ya que no se reduce el tamaño de la ventana hasta que se produce una pérdida de paquete. Por ello TCP se combina con otros algoritmos que veremos a continuación Algoritmo Congestion Avoidance En este algoritmo se hace la suposición que la probabilidad de pérdida de un paquete en la red por error en un enlace es nula, por tanto, si un paquete no llega es porque ha habido congestión en alguna parte de la red, no porque haya habido errores. Como sabemos, la congestión en la red se produce cuando se intenta enviar una gran cantidad de segmentos en una red lenta o bien cuando estos envíos intentan atravesar un router cuya capacidad de almacenamiento es menor que estos segmentos de entrada. Por lo general, y 25

GUÍA DE ESTUDIO TEMA 2. MODELO OSI. ESTÁNDARES Y PROTOCOLOS. MODELO TCP/IP.

GUÍA DE ESTUDIO TEMA 2. MODELO OSI. ESTÁNDARES Y PROTOCOLOS. MODELO TCP/IP. GUÍA DE ESTUDIO TEMA 2. MODELO OSI. ESTÁNDARES Y PROTOCOLOS. MODELO TCP/IP. OBJETIVOS Introducir conceptos de las comunicaciones: protocolo, jerarquías de protocolos y estándares utilizados. Conocer los

Más detalles

SISTEMAS OPERATIVOS Y TCP/IP. - El Modelo de Referencia TCP/IP -

SISTEMAS OPERATIVOS Y TCP/IP. - El Modelo de Referencia TCP/IP - SISTEMAS OPERATIVOS Y TCP/IP - El Modelo de Referencia TCP/IP - Objetivos Describir el modelo de referencia TCP/IP Comparar el modelo TCP/IP con el modelo OSI Analizar el formato general del datagrama

Más detalles

CUESTIONARIO PARA EL PROTOCOLO TCP/IP PREGUNTAS

CUESTIONARIO PARA EL PROTOCOLO TCP/IP PREGUNTAS CUESTIONARIO PARA EL PROTOCOLO TCP/IP PREGUNTAS TEMA I 1. - Qué significa TCP/IP? 2. - Por que es necesario usar TCP/IP? 3. - Cuáles son algunas funciones del nivel de aplicación? 4. - Qué es una PDU?

Más detalles

Redes y Servicios. Módulo I. Fundamentos y modelos de red. Tema 2. Fundamentos. Parte B. Nivel de enlace

Redes y Servicios. Módulo I. Fundamentos y modelos de red. Tema 2. Fundamentos. Parte B. Nivel de enlace 1 Redes y Servicios Módulo I. Fundamentos y modelos de red Tema 2. Fundamentos Parte B. Nivel de enlace 2 Introducción Dos funciones básicas del nivel de enlace: Motivación? Control de flujo Motivación?

Más detalles

Aspectos Básicos de Networking

Aspectos Básicos de Networking Aspectos Básicos de Networking ASPECTOS BÁSICOS DE NETWORKING 1 Sesión No. 4 Nombre: Capa de transporte del modelo OSI Contextualización Existen diferencias en los servicios de protocolos? Los protocolos

Más detalles

Redes de computadores. Práctica 3

Redes de computadores. Práctica 3 Ingenieria Informática. Redes de computadores Práctica 3 El protocolo TCP 1 El protocolo TCP Introducción a TCP TCP es un protocolo de nivel de transporte completo que proporciona un servicio de transferencia

Más detalles

El Modelo. Aplicación. Presentación. Sesión. Transporte. Red. Enlace. Físico

El Modelo. Aplicación. Presentación. Sesión. Transporte. Red. Enlace. Físico El Modelo Es una arquitectura por niveles para el diseño de sistemas de red que permiten la comunicación entre todos los dispositivos de computadoras. Esta compuesto por siete niveles separados, pero relacionados,

Más detalles

Protocolo de Ventana Deslizante 2008

Protocolo de Ventana Deslizante 2008 Protocolo de Ventana Deslizante 2008 ( wait Parada y Espera (Stop and Una vez se envía un paquete no se envía el siguiente paquete hasta que no se recibe el correspondiente ACK. En caso de recibir un NACK

Más detalles

Datos de usuario. Tipos de paquetes de la arquitectura TCP/IP. Telnet, FTP, E-mail, etc Aplicación. TCP, UDP Transporte. IP, ICMP, IGMP Red

Datos de usuario. Tipos de paquetes de la arquitectura TCP/IP. Telnet, FTP, E-mail, etc Aplicación. TCP, UDP Transporte. IP, ICMP, IGMP Red Datos de usuario Secuencia de Octetos de la capa de Aplicación Cabecera TCP Segmento TCP Cabecera IP Datagrama IP Cabecera de red Paquete de capa de Red Tipos de paquetes de la arquitectura TCP/IP Telnet,

Más detalles

Introducción a las redes de ordenadores y protocolos de comunicación. Ordenador que no depende de otro para su funcionamiento.

Introducción a las redes de ordenadores y protocolos de comunicación. Ordenador que no depende de otro para su funcionamiento. Introducción Evolución de la informática: Inicialmente un ordenador que ejecuta todos los trabajos. Actualmente un conjunto de ordenadores conectados entre sí. Ordenador autónomo: Ordenador que no depende

Más detalles

Redes de Comunicaciones. Ejercicios de clase Tema 3

Redes de Comunicaciones. Ejercicios de clase Tema 3 Redes de Comunicaciones Ejercicios de clase Tema 3 Tema 3. Ejercicio Sobre un nivel de enlace que implanta el protocolo de bit alternante se añade un tercer nivel de aplicación que incluye una aplicación

Más detalles

Sistemas de Interconexión entre Redes LAN

Sistemas de Interconexión entre Redes LAN Los puentes Sistemas de Interconexión entre Redes LAN Generalidades Los puentes (bridges) operan en la capa de enlace de datos Sólo se usan las direcciones del nivel 2 de OSI En caso de redes IEEE 802.x,

Más detalles

PROTOCOLO IP. Vicente Sánchez Patón. I.E.S Gregorio Prieto. Tema 1 SRI

PROTOCOLO IP. Vicente Sánchez Patón. I.E.S Gregorio Prieto. Tema 1 SRI PROTOCOLO IP Tema 1 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto Cada dispositivo de una red debe definirse en forma exclusiva. En la capa de red, es necesario identificar los paquetes de la transmisión

Más detalles

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los

Más detalles

Capa de Transporte, TCP y UDP

Capa de Transporte, TCP y UDP Capa de Transporte, TCP y UDP Mg. Gabriel H. Tolosa tolosoft@unlu.edu.ar Be conservative in what you do, be liberal in what you accept from others. Jon Postel Principio de Robustez Capa de Transporte Ofrece

Más detalles

16/03/2008. Taller de Redes. Héctor Abarca A. Introducción a las LAN Ethernet/ Profesor: Héctor Abarca A.

16/03/2008. Taller de Redes. Héctor Abarca A. Introducción a las LAN Ethernet/ Profesor: Héctor Abarca A. Profesor: Introducción a las LAN Ethernet/802.3 Profesor: 1 Introducción a Ethernet La mayor parte del tráfico en Internet se origina y termina en conexiones de Ethernet. Introducción a Ethernet Desde

Más detalles

EL MODELO DE REFERENCIA O.S.I.

EL MODELO DE REFERENCIA O.S.I. EL ODELO DE REFERENCIA O.S.I. Introducción Introducción Problemas en el diseño de redes Las redes de ordenadores son sistemas de elevada complejidad Son muchas y complicadas las tareas que hay que realizar

Más detalles

Redes de Computadoras Septiembre de 2006. Teoría y problemas (75 %).

Redes de Computadoras Septiembre de 2006. Teoría y problemas (75 %). Redes de Computadoras Septiembre de 2006 Nombre: DNI: Teoría y problemas (75 ). 1. (2 puntos) Verdadero o falso? Razone además su respuesta. a) Un host A envía a un host B un fichero muy grande a través

Más detalles

TEMA 3. Conceptos Avanzados del Protocolo TCP

TEMA 3. Conceptos Avanzados del Protocolo TCP AMPLIACIÓN DE SISTEMAS OPERATIVOS Y REDES Grados Ingeniería en Informática Universidad Complutense de Madrid TEMA 3. Conceptos Avanzados del Protocolo TCP PROFESORES: Rafael Moreno Vozmediano Rubén Santiago

Más detalles

Análisis de Protocolos con Net Simulator 2 (ns-2) Ing. José Luis Muñoz

Análisis de Protocolos con Net Simulator 2 (ns-2) Ing. José Luis Muñoz Análisis de Protocolos con Net Simulator 2 (ns-2) Ing. José Luis Muñoz Porqué usar simuladores de red? En el año 2000 se inicio el proyecto ARIES * (Advanced Research on Internet E-Servers) como parte

Más detalles

Comunicación de Datos I Profesora: Anaylen López Sección IC631 MODELO OSI

Comunicación de Datos I Profesora: Anaylen López Sección IC631 MODELO OSI Comunicación de Datos I Profesora: Anaylen López Sección IC631 MODELO OSI Arquitectura de Redes Definición Formal: Se define una arquitectura de red como un conjunto de niveles y protocolos que dan una

Más detalles

MANUAL DE PRÁCTICAS CON NS-2

MANUAL DE PRÁCTICAS CON NS-2 MANUAL DE PRÁCTICAS CON NS-2 AUTORES: Jhon Jairo Padilla Aguilar Ingeniero Electrónico, Universidad del Cauca MsC. en Informática, Universidad Industrial de Santander PhD. en Ingeniería Telemática, Universidad

Más detalles

Tema 3: El protocolo TCP

Tema 3: El protocolo TCP 1 Tema 3: El protocolo TCP Capítulos: Introducción Puertos y conexiones Control de flujo. Recuperación de errores Control de congestión Formato de un segmento TCP Establecimiento y cierre de una conexión

Más detalles

Tecnológico Nacional de México INSTITUTO TECNOLÓGICO DE SALINA CRUZ

Tecnológico Nacional de México INSTITUTO TECNOLÓGICO DE SALINA CRUZ Tecnológico Nacional de México INSTITUTO TECNOLÓGICO DE SALINA CRUZ UNIDAD 2: ENRUTAMIENTO ESTÁTICO Y DINÁMICO ACTIVIDAD: TRABAJO DE INVESTIGACIÓN 1 MATERIA: REDES DE COMPUTADORAS DOCENTE: SUSANA MÓNICA

Más detalles

Hub, switch y Routers son nombres dados a dispositivos de hardware que posibilitan la conexión de computadores a redes.

Hub, switch y Routers son nombres dados a dispositivos de hardware que posibilitan la conexión de computadores a redes. DISPOSITIVOS DE INTERCONEXION DE REDES DE DATOS Hub, switch y Routers son nombres dados a dispositivos de hardware que posibilitan la conexión de computadores a redes. HUB SWITCH ROUTER No inteligente

Más detalles

GUÍA RÁPIDA CONFIGURACIÓN PLUGIN Y DRIVER KRONOS NET

GUÍA RÁPIDA CONFIGURACIÓN PLUGIN Y DRIVER KRONOS NET GUÍA RÁPIDA CONFIGURACIÓN PLUGIN Y DRIVER KRONOS NET TÍTULO GUÍA CONFIGURACIÓN PLUGIN Y DRIVER VERSIÓN 1.00 FECHA 2015 07 23 ESTADO POR REVISAR COD CONTROL GUÍA CONFIGURACIÓN PLUGIN Y DRIVER Los drivers

Más detalles

Práctica de laboratorio Conexión y configuración de hosts

Práctica de laboratorio Conexión y configuración de hosts Práctica de laboratorio 3.6.4 Conexión y configuración de hosts Objetivos Conectar una PC a un router mediante un cable directo Configurar la PC con una dirección IP adecuada Configurar la PC con un nombre

Más detalles

Temas 3 y 4 6.263/16.37

Temas 3 y 4 6.263/16.37 Temas 3 y 4 6.263/16.37 La capa de enlace de datos: protocolos ARQ MIT, LIDS 1 Solicitud de repetición automática (ARQ) Cuando el receptor detecta errores en un paquete, cómo informa al emisor para que

Más detalles

Gestión de cola. Area de Ingeniería Telemática http://www.tlm.unavarra.es. Grado en Ingeniería en Tecnologías de Telecomunicación, 3º

Gestión de cola. Area de Ingeniería Telemática http://www.tlm.unavarra.es. Grado en Ingeniería en Tecnologías de Telecomunicación, 3º Gestión de cola Area de Ingeniería Telemática http://www.tlm.unavarra.es Grado en Ingeniería en Tecnologías de Telecomunicación, 3º Control de congestión en TCP Congestion Avoidance Vamos a ver lo que

Más detalles

ARQUITECTURA DE REDES Laboratorio

ARQUITECTURA DE REDES Laboratorio 1nsloo.cl ARQUITECTURA DE REDES Laboratorio Práctica 7: Protocolos de transporte en TCP/IP 1. OBJETIVO Conocer las características de los protocolos de transporte de la arquitectura TCP/IP: TCP y UDP.

Más detalles

Gestión de cola. Area de Ingeniería Telemática http://www.tlm.unavarra.es. Grado en Ingeniería en Tecnologías de Telecomunicación, 3º

Gestión de cola. Area de Ingeniería Telemática http://www.tlm.unavarra.es. Grado en Ingeniería en Tecnologías de Telecomunicación, 3º Gestión de cola Area de Ingeniería Telemática http://www.tlm.unavarra.es Grado en Ingeniería en Tecnologías de Telecomunicación, 3º Control de congestión en TCP Congestion Avoidance Vamos a ver lo que

Más detalles

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para

Más detalles

Informe Proyecto: Protocolo ARQ- Híbrido

Informe Proyecto: Protocolo ARQ- Híbrido Informe Proyecto: Protocolo ARQ- Híbrido Integrantes: Ignacio Catrileo D. Ignacio García A. Profesor : Agustín González V. Resumen: Los ARQ como Stop-and-Wait, Go-Back-N y Selective Repeat son protocolos

Más detalles

Representación de números enteros: el convenio exceso Z

Representación de números enteros: el convenio exceso Z Representación de números enteros: el convenio exceso Z Apellidos, nombre Martí Campoy, Antonio (amarti@disca.upv.es) Departamento Centro Informàtica de Sistemes i Computadors Escola Tècnica Superior d

Más detalles

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando

Más detalles

Transporte fiable Ventana deslizante y go-back-n

Transporte fiable Ventana deslizante y go-back-n Transporte fiable Ventana deslizante y go-back-n Area de Ingeniería Telemática http://www.tlm.unavarra.es Arquitectura de Redes, Sistemas y Servicios Grado en Ingeniería en Tecnologías de Telecomunicación,

Más detalles

Cómo desarrollar una Arquitectura de Red segura?

Cómo desarrollar una Arquitectura de Red segura? 1 Cómo desarrollar una Arquitectura de Red segura? Lic. Julio C. Ardita jardita@cybsec.com 26 de Septiembre de 2001 Buenos Aires - ARGENTINA 2 Cómo desarrollar una Arquitectura de Red segura? Temario -

Más detalles

5 Compresión de Cabeceras de Van Jacobson

5 Compresión de Cabeceras de Van Jacobson 5 Compresión de Cabeceras de Van Jacobson 5.1 INTRODUCCIÓN El acceso a servicios de Internet a través de líneas de baja velocidad tanto alámbricas como inalámbricas pone de manifiesto el hecho de la gran

Más detalles

Tema 1 - Introducción Hoja de problemas

Tema 1 - Introducción Hoja de problemas E.T.S.I.I.T - Ingeniería de Telecomunicación Redes Telefónicas Tema 1 - Introducción Hoja de problemas Problema 1. Para una red JDP en su jerarquía primaria de 30+2, determinar el cociente (S/N) ley-a

Más detalles

Simulación de redes locales Ethernet utilizando NS-2

Simulación de redes locales Ethernet utilizando NS-2 Simulación de redes locales Ethernet utilizando NS-2 Apellidos, nombre Departamento Centro Capella Hernández, Juan Vicente (jcapella@disca.upv.es) Departamento de Informática de Sistemas y Computadores

Más detalles

2 El protocolo TCP 2.1 INTRODUCCIÓN

2 El protocolo TCP 2.1 INTRODUCCIÓN 2 El protocolo TCP 2.1 INTRODUCCIÓN En primer lugar analizaremos las características fundamentales del protocolo de transporte TCP basándonos tanto en la propia definición del protocolo establecida en

Más detalles

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

Introducción a la seguridad en redes IP

Introducción a la seguridad en redes IP Introducción a la seguridad en redes IP Tabla de Contenidos 1. Introducción a la seguridad en redes IP... 2 1.1 Funcionamiento de TCP e IP... 2 Interfaces de protocolo... 3 1.2 El protocolo Internet...

Más detalles

bla bla Guard Guía del usuario

bla bla Guard Guía del usuario bla bla Guard Guía del usuario Guard Guard: Guía del usuario fecha de publicación Miércoles, 03. Septiembre 2014 Version 1.0 Copyright 2006-2014 OPEN-XCHANGE Inc., La propiedad intelectual de este documento

Más detalles

SWITCHE. SILVIO RADA RODRÍGUEZ Ingeniero de Sistemas

SWITCHE. SILVIO RADA RODRÍGUEZ Ingeniero de Sistemas SWITCHE SILVIO RADA RODRÍGUEZ Ingeniero de Sistemas DISPOSITIVOS DE INTERCONEXION DE REDES DE DATOS Hub, switch y Routers son nombres dados a dispositivos de hardware que posibilitan la conexión de computadores

Más detalles

MANUAL PARA EL CARGUE DE REPORTES POR FTP

MANUAL PARA EL CARGUE DE REPORTES POR FTP MANUAL PARA EL CARGUE DE REPORTES POR FTP REQUISITOS PREVIOS Antes de seguir el paso a paso de este manual, es importante cumplir con unos requisitos previos que permitirán completar las instrucciones

Más detalles

Manual de Usuario. Aplicación de Autoevaluación de Centros

Manual de Usuario. Aplicación de Autoevaluación de Centros Manual de Usuario Aplicación de Autoevaluación de Centros Índice Antes de Comenzar 3 Requisitos del Sistema 4 Instalación de la Aplicación 5 Pasos Previos 5 Manejo de la Aplicación 6-2 - Antes de Comenzar

Más detalles

Tema 14: Sistemas Secuenciales

Tema 14: Sistemas Secuenciales Tema 14: Sistemas Secuenciales Objetivos: (CONTADORES) Introducción. Características de los contadores. Contadores Asíncronos. Contadores Síncronos. 1 INTRODUCCIÓN Los contadores son sistemas secuenciales

Más detalles

Práctica de laboratorio Uso de la Calculadora de Windows con direcciones de red

Práctica de laboratorio Uso de la Calculadora de Windows con direcciones de red Práctica de laboratorio 5.1.4 Uso de la Calculadora de Windows con direcciones de red Objetivos Cambiar entre los dos modos de la Calculadora de Windows. Usar la Calculadora de Windows para la conversión

Más detalles

SISTEMA AUTONOMO CON PATROL IP Manual de Usuario VERSION 1.0 PRELIMINAR

SISTEMA AUTONOMO CON PATROL IP Manual de Usuario VERSION 1.0 PRELIMINAR Ordene este documento como UM-90925 Rev. A UM-90925 Dto. de Ingeniería SISTEMA AUTONOMO CON PATROL IP Manual de Usuario VERSION 1.0 PRELIMINAR 1. Descripción General. El sistema autónomo es una alternativa

Más detalles

Laboratorio 2.6.1: Orientación de topología y creación de una red pequeña

Laboratorio 2.6.1: Orientación de topología y creación de una red pequeña Laboratorio 2.6.1: Orientación de topología y creación de una red pequeña Diagrama de topología Red punto a punto Redes conmutadas Objetivos de aprendizaje Al completar esta práctica de laboratorio, usted

Más detalles

Manual de Usuario Cambio de unidad certificadora Banco Central de Costa Rica Manual de Operación

Manual de Usuario Cambio de unidad certificadora Banco Central de Costa Rica Manual de Operación Manual de Usuario Cambio de unidad certificadora Banco Central de Costa Rica Manual de Operación Preparado para Dirección de Tecnologías de Información y Comunicación Ministerio de Hacienda 04 de Mayo,

Más detalles

Anexo C. Manual del usuario

Anexo C. Manual del usuario Anexo C Manual del usuario 1. Introducción La aplicación requiere tener instalada la máquina virtual de java versión 1.6 o superior (tanto en sistemas operativos Windows como en sistemas operativos Linux).

Más detalles

PROPIEDADES DE LOS CAMPOS. Cada campo de una tabla dispone de una serie de características que proporcionan un control

PROPIEDADES DE LOS CAMPOS. Cada campo de una tabla dispone de una serie de características que proporcionan un control PROPIEDADES DE LOS CAMPOS Cada campo de una tabla dispone de una serie de características que proporcionan un control adicional sobre la forma de funcionar del campo. Las propiedades aparecen en la parte

Más detalles

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A)

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A) aprenderaprogramar.com Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A) Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión: 2029 Autor: Mario R. Rancel

Más detalles

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

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. http://www.icc.uji.es. CAPÍTULO 8: El nivel de transporte en Internet Redes (IS20) Ingeniería Técnica en Informática de Sistemas http://www.icc.uji.es CAPÍTULO 8: El nivel de transporte en Internet ÍNDICE 1. Introducción Curso 2002-2003 - Redes (IS20) -Capítulo 8 1 1. Introducción

Más detalles

Microsoft Office Word

Microsoft Office Word Microsoft Office Word Objetivos del capítulo: Aprender lo que es un procesador de textos. Aprender a ejecutar el programa cada que vez que se quiere usar. Aprender los elementos de la pantalla principal

Más detalles

Última modificación: 1 de julio de

Última modificación: 1 de julio de Contenido SEÑALES DIGITALES Y CAPACIDAD DE CANAL 1.- Señales digitales de 2 y más niveles. 2.- Tasa de bit e intervalo de bit. 3.- Ancho de banda de una señal digital. 4.- Límites en la tasa de transmisión.

Más detalles

Estructura de Datos: Archivos

Estructura de Datos: Archivos Estructura de Datos: Archivos Registros (record) Un registro es una estructura que consiste de un número fijo de componentes llamados campos. Los campos pueden ser de diferentes tipos y deben tener un

Más detalles

Ordenador local + Servidor Remoto

Ordenador local + Servidor Remoto Introducción Saber situarse con exactitud en el árbol de servidores, discos y directorios del ordenador que se está usando Conocer los usos básicos del teclado y el ratón (edición de campos texto, escritura

Más detalles

Sincronizador de Información Táctica

Sincronizador de Información Táctica Instalación del programa Pasos para la instalación de la interface Táctica-Microsip. 1.- Ejecutar el programa setup.exe 2.- A continuación en la pantalla de bienvenida seleccionar el botón Siguiente Página

Más detalles

Experiencia 2. Laboratorio de Redes 2010, UTFSM. Valparaíso, 25 de marzo de 2011

Experiencia 2. Laboratorio de Redes 2010, UTFSM. Valparaíso, 25 de marzo de 2011 Experiencia 2 Laboratorio de Redes 2010, UTFSM Valparaíso, 25 de marzo de 2011 Índice 1. Simulación de Redes 3 1.1. Introducción.......................................... 3 1.2. Tipos de Simulación.....................................

Más detalles

1. Almacenamiento redundante

1. Almacenamiento redundante ALTA DISPONIBILIDAD Los sistemas RAID los hacemos con un conjunto de discos. Por un lado hay RAID que valen para: *VELOCIDAD. Optimizan el rendimiento para conseguir velocidad. *SEGURIDAD. Si falla un

Más detalles

Sistemas Operativos. Curso 2016 Sistema de Archivos

Sistemas Operativos. Curso 2016 Sistema de Archivos Sistemas Operativos Curso 2016 Sistema de Archivos Agenda Interfaz. Archivos. Directorios. Seguridad en archivos. Implementación. Definiciones. Sistema de archivos virtual. Estructura de los directorios.

Más detalles

Tabla de Símbolos. Programación II Margarita Álvarez

Tabla de Símbolos. Programación II Margarita Álvarez Programación II Margarita Álvarez La tabla de símbolos es una estructura global utilizada por distintos módulos del compilador. Es el principal atributo heredado. Almacena todos los nombres declarados

Más detalles

INGENIERÍA INFORMÁTICA LABORATORIO DE REDES

INGENIERÍA INFORMÁTICA LABORATORIO DE REDES INGENIERÍA INFORMÁTICA LABORATORIO DE REDES SESIÓN 1. SEMINARIO INTRODUCTORIO PILA DE PROTOCOLOS Objetivos 1 h. Introducir la pila Funciones y cabecera IPv4 Cabecera IPv6 Funciones y cabecera TCP Funciones

Más detalles

ATRIBUTOS DE LOS FICHEROS EN LINUX

ATRIBUTOS DE LOS FICHEROS EN LINUX PRÁCTICA 2 ATRIBUTOS DE LOS FICHEROS EN LINUX Objetivos Noción de inodo. Enlaces simbólicos y no simbólicos. Descripción de los atributos de un fichero. Permisos de un fichero. 1. Noción de inodo A cada

Más detalles

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE TRANSPORTE

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE TRANSPORTE FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE TRANSPORTE Dolly Gómez Santacruz dollygos@univalle.edu.co CONCEPTOS DE LA CAPA DE TRANSPORTE MOTIVACIÓN Capas 1 Bits sobre cables Capa 2 Tramas en una red local

Más detalles

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

ALB-W-000003sp WHITE PAPER. White Paper. Medida del throughput con transmisiones sobre TCP. Septiembre 2009. Medida del throughput sobre TCP White Paper Medida del throughput con transmisiones sobre TCP Septiembre 2009 A la hora de medir la tasa máxima de transmisión que puede ofrecer un enlace WiMAX se suele recurrir a herramientas similares

Más detalles

EL ORDENADOR A. PERIFÉRICOS. B. UNIDAD CENTRAL. 1. HARDWARE Y SOFTWARE. 2. FUNCIONAMIENTO DE UN SISTEMA INFORMÁTICO 3. CONCEPTO DE SISTEMA INFORMÁTICO

EL ORDENADOR A. PERIFÉRICOS. B. UNIDAD CENTRAL. 1. HARDWARE Y SOFTWARE. 2. FUNCIONAMIENTO DE UN SISTEMA INFORMÁTICO 3. CONCEPTO DE SISTEMA INFORMÁTICO EL ORDENADOR 1. HARDWARE Y SOFTWARE. 2. FUNCIONAMIENTO DE UN SISTEMA INFORMÁTICO 3. CONCEPTO DE SISTEMA INFORMÁTICO 4. PARTES DE UN SISTEMA INFORMÁTICO A. PERIFÉRICOS. B. UNIDAD CENTRAL. a) CARCASA b)

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

ÍNDICE TEMÁTICO I. ARQUITECTURA TCP/IP

ÍNDICE TEMÁTICO I. ARQUITECTURA TCP/IP ARQUITECTURA DE REDES DE COMUNICACIONES ÍNDICE TEMÁTICO I. ARQUITECTURA TCP/IP 1. Protocolo IPv6 (ICMPv6) 2. IP móvil en IPv4 e IPv6 3. Transición de IPv4 a IPv6 4. Encaminamiento dinámico de unidifusión

Más detalles

Guía práctica de estudio 05: Diagramas de flujo

Guía práctica de estudio 05: Diagramas de flujo Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de

Más detalles

06. GESTIÓN DE PROCESOS Y RECURSOS

06. GESTIÓN DE PROCESOS Y RECURSOS 06. GESTIÓN DE PROCESOS Y RECURSOS MENSAJES Y AVISOS DEL SISTEMA Y EVENTOS DEL SISTEMA Todos estos mensajes, avisos y eventos del sistema, los podemos ver en la herramienta Visor de eventos. Para acceder

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

Control de flujo en TCP

Control de flujo en TCP Clase 20 Control de flujo en TCP Tema 5.- Nivel de transporte en Internet Dr. Daniel Morató Redes de Ordenadores Ingeniero Técnico de Telecomunicación Especialidad en Sonido e Imagen, 3º curso Temario

Más detalles

QUE SON Y PARA QUE SIRVEN LAS DIRECCIONES IP, LA MASCARA DE SUBRED, LA PUERTA DE ENLACE Y LAS DNS.

QUE SON Y PARA QUE SIRVEN LAS DIRECCIONES IP, LA MASCARA DE SUBRED, LA PUERTA DE ENLACE Y LAS DNS. QUE SON Y PARA QUE SIRVEN LAS DIRECCIONES IP, LA MASCARA DE SUBRED, LA PUERTA DE ENLACE Y LAS DNS. Vamos a explicar qué son las direcciones IP, la máscara de subred, las DNS y la Puerta de enlace. En primer

Más detalles

Microsoft PowerPoint 2013 (Completo)

Microsoft PowerPoint 2013 (Completo) Microsoft PowerPoint 2013 (Completo) Curso para conocer y aprender a manejar la aplicación Microsoft PowerPoint 2013, perteneciente a la suite ofimática Microsoft Office 2013, en el que se explican las

Más detalles

LICENCIAS DEL SUPERVISOR X PARA CÁMARAS Y DISPOSITIVOS IP

LICENCIAS DEL SUPERVISOR X PARA CÁMARAS Y DISPOSITIVOS IP Nota Técnica ESPAÑOL LICENCIAS DEL SUPERVISOR X PARA CÁMARAS Y DISPOSITIVOS IP Fecha revisión: Aplicación: Septiembre 2015 Supervisor X 1.1 Sistema de licencias del Supervisor X El Supervisor X requiere

Más detalles

Instrucciones de configuración del acceso remoto (VPN) de la UCLM para Windows, Mac y Linux

Instrucciones de configuración del acceso remoto (VPN) de la UCLM para Windows, Mac y Linux Instrucciones de configuración del acceso remoto (VPN) de la UCLM para Windows, Mac y Linux Referencia -- Fecha 14/03/2016 Autores Área TIC Destinatarios Estudiantes, PDI y PAS de la UCLM Descripción Este

Más detalles

Capitulo 3: Introducción a los Protocolos de Enrutamiento Dinámico

Capitulo 3: Introducción a los Protocolos de Enrutamiento Dinámico Capitulo 3: Introducción a los Protocolos de Enrutamiento Dinámico 1. Cuáles son las afirmaciones que describen correctamente los conceptos de distancia administrativa y métrica? (Elija dos opciones).

Más detalles

La eficiencia de los programas

La eficiencia de los programas La eficiencia de los programas Jordi Linares Pellicer EPSA-DSIC Índice General 1 Introducción... 2 2 El coste temporal y espacial de los programas... 2 2.1 El coste temporal medido en función de tiempos

Más detalles

11.2. Manual de GTC 2.0: El primer contacto

11.2. Manual de GTC 2.0: El primer contacto 11 MANUALES DE USUARIO 11.1. Introducción GTC 2.0 y Pocket GTC son herramientas desarrolladas para la gestión del trabajo colaborativo. Pretenden ayudar en la difícil tarea de la evaluación de alumnos

Más detalles

Instituto Schneider Electric de Formación

Instituto Schneider Electric de Formación Unity Pro & M340 Capítulo 1: Introducción a Unity Pro con Modicon M340 Introducción a Unity Pro A - Presentación de Unity Pro p. 3 B - Unity Pro p. 8 C - Consejos generales para desarrollar una aplicación

Más detalles

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

Más detalles

Shell Script de instalación y configuración para el servicio DHCP en CentOS v5.x. Manual de instrucciones.

Shell Script de instalación y configuración para el servicio DHCP en CentOS v5.x. Manual de instrucciones. Shell Script de instalación y configuración para el servicio DHCP en CentOS v5.x Manual de instrucciones. Ing. Luis González Fraga 25/06/2012 En este manual usted podrá instalar y configurar en pocos minutos,

Más detalles

MANUAL DEL PROGRAMA EXCEL LABORAL

MANUAL DEL PROGRAMA EXCEL LABORAL MANUAL DEL PROGRAMA EXCEL LABORAL Nivel 1 Tema 1 Caso Práctico 01 Creación Base de Datos de Variables Alfabéticas Capacitaciones Interdisciplinarias y Servicios Profesionales S.A. Programa Excel Laboral

Más detalles

. Envia un paquete de datos con eco, que se envia a un dispositivo de red para que este emita una respuesta

. Envia un paquete de datos con eco, que se envia a un dispositivo de red para que este emita una respuesta 1. Es un Servicio que Comprende la navegación en Internet a través de páginas en formato de hipertexto, de manera que con un clic del ratón nos transporta a otras páginas relacionadas. 1. Redes NT. La

Más detalles

Señalización Sigtran. Ing. Juan Vanerio (jvanerio@fing.edu.uy)

Señalización Sigtran. Ing. Juan Vanerio (jvanerio@fing.edu.uy) Sistema de Señalización Sigtran Ing. Juan Vanerio (jvanerio@fing.edu.uy) Signaling Transport (SIGTRAN) Familia de protocolos que proporcionan un servicio de datagramas confiable y adaptaciones de las capas

Más detalles

UNIÓN INTERNACIONAL DE TELECOMUNICACIONES RED DIGITAL DE SERVICIOS INTEGRADOS (RDSI) ESTRUCTURA GENERALES

UNIÓN INTERNACIONAL DE TELECOMUNICACIONES RED DIGITAL DE SERVICIOS INTEGRADOS (RDSI) ESTRUCTURA GENERALES UNIÓN INTERNACIONAL DE TELECOMUNICACIONES UIT-T I.130 SECTOR DE NORMALIZACIÓN DE LAS TELECOMUNICACIONES DE LA UIT RED DIGITAL DE SERVICIOS INTEGRADOS (RDSI) ESTRUCTURA GENERALES MÉTODO DE CARACTERIZACIÓN

Más detalles

JAVA 7 Los fundamentos del lenguaje Java

JAVA 7 Los fundamentos del lenguaje Java Presentación 1. Historia 9 1.1 Por qué Java? 9 1.2 Objetivos del diseño de Java 10 1.3 Auge de Java 11 2. Características de Java 12 2.1 El lenguaje de programación Java 12 2.1.1 Sencillo 13 2.1.2 Orientado

Más detalles

Estructuras en LabVIEW.

Estructuras en LabVIEW. Estructuras en LabVIEW. Sumario: 1. Ejecución según el flujo de datos. 2. Estructuras básicas disponibles en LabVIEW. a) Estructura Sequence. b) Estructura Case. c) Estructura For Loop. d) Estructura While

Más detalles

4. DIAGRAMAS DE INTERACCIÓN INTRODUCCIÓN DIAGRAMAS DE SECUENCIA Objetos Mensajes

4. DIAGRAMAS DE INTERACCIÓN INTRODUCCIÓN DIAGRAMAS DE SECUENCIA Objetos Mensajes 4. DIAGRAMAS DE INTERACCIÓN...37 4.1. INTRODUCCIÓN... 37 4.2. DIAGRAMAS DE SECUENCIA... 37 4.2.1. Objetos...37 4.2.2. Mensajes...38 4.2.3. Creación y destrucción de un objeto...39 4.3. DIAGRAMAS DE COLABORACIÓN...

Más detalles

MICROSOFT EXCEL 2010

MICROSOFT EXCEL 2010 MICROSOFT EXCEL 2010 1. AVANZADO Nº Horas:24 Objetivos: Descripción de funciones avanzadas de la hoja de cálculo Microsoft Excel 2010, viendo el uso de fórmulas, funciones y gráficos en los libros de Excel.

Más detalles

FÓRMULAS Y FUNCIONES

FÓRMULAS Y FUNCIONES Centro de Estudios Empresariales 1 FÓRMULAS Y FUNCIONES Una fórmula nos permite calculas rápidamente valores directos introducidos en una celda y operar con valores previamente introducidos en otras celdas,

Más detalles

Equipamiento ADSL» Inalámbrico. Adaptador USB PAUTAS PARA LA VERIFICACION TCP/IP

Equipamiento ADSL» Inalámbrico. Adaptador USB PAUTAS PARA LA VERIFICACION TCP/IP Equipamiento ADSL» Inalámbrico Adaptador USB PAUTAS PARA LA VERIFICACION TCP/IP PAUTAS PARA LA VERIFICACIÓN TCP/IP Este documento describe cómo preparar su PC para su conexión a una red inalámbrica después

Más detalles

Escola Tècnica Superior d Enginyeria Informàtica Universitat Politècnica de València

Escola Tècnica Superior d Enginyeria Informàtica Universitat Politècnica de València Escola Tècnica Superior d Enginyeria Informàtica Universitat Politècnica de València Desarrollo de alternativas al protocolo TCP para redes inalámbricas Proyecto Final de Carrera Ingeniería Informática

Más detalles

Práctica 5MODBUS: Bus Modbus

Práctica 5MODBUS: Bus Modbus Práctica 5MODBUS: Bus Modbus 1 Objetivos El objetivo de esta práctica es la utilización y la programación de una red Modbus. El alumno debe ser capaz de: Diferenciar los tres niveles fundamentales de la

Más detalles

Relojes secundarios OSIRIA

Relojes secundarios OSIRIA Relojes secundarios OSIRIA OSIRIA 220 AR KNX 5009200 OSIRIA 230 AR KNX 5009210 OSIRIA 230 SR KNX 5009211 OSIRIA 240 AR KNX 5009230 OSIRIA 240 SR KNX 5009231 OSIRIA 241 AR KNX 5009240 OSIRIA 241 BR KNX

Más detalles

CURSO LECTIVO 6: Sistemas Informáticos para Econegocios y Gerencia PRESENCIAL. Nº de horas de trabajo autónomo: 64 SEMI PRESENCIAL

CURSO LECTIVO 6: Sistemas Informáticos para Econegocios y Gerencia PRESENCIAL. Nº de horas de trabajo autónomo: 64 SEMI PRESENCIAL CURSO LECTIVO 6: CARRERA: MODALIDAD: Redes Sistemas Informáticos para Econegocios y Gerencia Presencial Nº de Semanas programadas: 16 Nº de horas presenciales: 64 Número de Horas de Clases Semanales: 4

Más detalles