ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Protocolo TCP

yamidarmando24 de Mayo de 2013

2.828 Palabras (12 Páginas)387 Visitas

Página 1 de 12

INGENIERÍA INFORMÁTICA

PRÁCTICAS DE REDES

CURSO 2003-04

PROTOCOLO TCP

José Luis González Sánchez

http://patanegra.unex.es/jlgs

2

1 HERRAMIENTAS UTILIZADAS...........................................................................3

2 SCRIPTS TCL...........................................................................................................5

2.1 SINTAXIS BÁSICA ........................................................................................5

2.2 VARIABLES....................................................................................................5

2.3 COMANDOS ANIDADOS. ............................................................................5

2.4 UTILIZACIÓN DE COMILLAS Y LLAVES................................................. 6

2.5 ESTRUCTURAS DE CONTROL ................................................................... 6

2.6 ¿DE DÓNDE VIENEN LOS COMANDOS?.................................................. 7

2.7 OTRAS CARACTARISTICAS. ......................................................................7

2.8 MÁS INFORMACIÓN ....................................................................................7

2.9 SCRIPTS TCL PARA CREAR ESCENARIOS PARA NS ............................ 7

2.10 LOS EVENTOS ............................................................................................. 11

2.11 MONITORIZACIÓN DE UNA COLA. ........................................................ 12

2.12 CREACIÓN DE FICHEROS DE TRAZA PARA Xgraph............................ 13

3 ASPECTOS GENERALES DEL PROTOCOLO TCP...........................................15

3.1 CONTROL DE FLUJO MEDIANTE MECANISMO DE VENTANA

DESLIZANTE.................................................................................................................22

3.2 CONTROL DE CONGESTIÓN DEL PROTOCOLO TCP .......................... 20

3.3 ¿CÓMO SE CONTROLA LA CONGESTIÓN? ........................................... 27

3.4 EVOLUCION DEL CONTROL DE CONGESTION. .................................. 39

3.5 IMPLANTACIÓN DE LAS DISTINTAS VERSIONES DE TCP. .............. 39

3.6 THROUGTPUT Y PROBABILIDAD DE PÉRDIDA. ................................. 42

3.7 ADAPTACIÓN DEL ANCHO DE BANDA................................................. 44

3.8 ESCENARIO MULTIPUNTO – MULTIPUNTO......................................... 52

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 (http://webepcc.unex.es/jlgs ), en

http://www.isi.edu/nsnam/ns/ 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 www.cygwin.com/xfree/ .

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/ deberá ser reemplazado por lo que devuelva el

comando pwd.

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:

http://www.sims.berkeley.edu/~christin/ns-cygwin.shtml

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

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 20 + 10

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.

2..2 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]

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 24 + 18 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:

...

Descargar como (para miembros actualizados) txt (21 Kb)
Leer 11 páginas más »
Disponible sólo en Clubensayos.com