![]() ![]() |
![]() |
|||
![]() |
![]() |
![]() |
![]() |
tutoriales |
![]() |
Capa de transporte del protocolo TCP-IP Parámetros de configuración. Caso de estudio Linux Cuando tomamos en cuenta el producto del ancho de banda de una conexión TCP y los parámetros de configuración: control de ventana, tamaño del buffer de envío y recepción de datos y los posibles diferentes valores del parámetro de configuración MTU de los enlaces de transmisión, el rendimiento de una conexión TCP puede verse afectado notablemente. Estas son las razones que demuestran lo dicho anteriormente: -. El producto del ancho de banda es la máxima cantidad de datos que pueden ser transmitidos en una unidad de tiempo - segundo - desde un computador A a un computador B tomando en cuenta el RTT. Esto implica que el producto del ancho de banda viene dado por la siguiente expresión matemática: Producto del ancho de banda = Ancho de banda de la línea de transmisión * RTT Si el ancho de banda de una línea de transmisión entre dos computadoras es de 155MB/Seg esto implica que en el caso ideal para un protocolo de conexión orientada, el tiempo de transferencia de un archivo de 10MBytes desde un computador a otro es de 10MBytes / 155MB/Seg =~ 0.5 seg. Si en este ejemplo incluimos las siguientes variables: RTT, tamaño del parámetro de control ventana y el tamaño del buffer de envió y recepción de datos tenemos que: a.- Si el RTT promedio es de 50mseg tenemos que el producto del ancho de banda es igual a 155MB/Seg * 50mseg = 7.75MB. Esto implica que 7.75MB es mucho mayor que el tamaño máximo del parámetro de control ventana basado en el RFC 793 y a su vez 7.75MB es mucho mayor que el buffer de envío y recepción de datos configurado por defecto en ambos computadores. Por lo tanto a fin de optimizar el rendimiento de las conexiones TCP los siguientes parámetros de configuración pueden ser manipulados: factor de posicionamiento de la ventana RFC 1323, El tamaño del buffer de envió y recepción de datos. En el sistema operativo Linux a partir de la versión 2.1, el parámetro de control ventana está definido por un registro de 15 Bits tal como se muestra en el siguiente código extraído del header tcp.h /* * Never offer a window over 32767 without using window scaling. Some * poor stacks do signed 16bit maths! */ #define MAX_TCP_WINDOW 32767U Los siguientes parámetros de control son manipulados en el sistema operativo Linux a fin optimizar las conexiones TCP afectadas por el producto del ancho de banda: -. /proc/sys/net/core/rmem_default - default receive window -. /proc/sys/net/core/rmem_max - maximum receive window -. /proc/sys/net/core/wmem_default - default send window -. /proc/sys/net/core/wmem_max - maximum send window -. tcp_adv_win_scale -. tcp_window_scaling -. tcp_timestamps -. tcp_mem -. tcp_rmem -. tcp_wmem Los valores por defecto de cada uno de los parámetros de control presentados y su significado se encuentran incluidos en el archivo sysctl.txt. Este archivo se encuentra en la documentación del Kernel. Ejemplo: /usr/src/kernel-source-2.4.18/Documentation/networking/ip-sysctl.txt. Es importante mencionar que manipular dichos parámetros de configuración puede ser contraproducente, ya que a medida que se incrementa el número de conexiones TCP los recursos de memoria del sistema disminuyen. Además el promedio del RTT de cada conexión varia. Actualmente una de las áreas de investigación con el fin de optimizar el protocolo TCP consiste en la búsqueda de algoritmos que permitan adaptar los parámetros de configuración mencionados anteriormente de forma automática. |
![]() |
![]() |
![]() |
© 2002 New Devices. Derechos Reservados. |