Optimización de Sesiones TCP/IP: Puertos, Latencia y Herramientas de Diagnóstico

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 7,63 KB

Campos del TCP

Los dos primeros campos son la puerta de origen y destino; se emplean para identificar a la capa de aplicación (ULP) que usa la conexión TCP. El número de secuencia, número de segmento TCP, usado para controlar la recepción de ACK, dentro de un conjunto se segmentos TCP enviados. El reconocimiento (ACK) es seteado a un valor que reconoce toda la información previamente recibida. El valor representa el número de secuencia (sequenced number) del siguiente byte esperado desde el transmisor.

Data offset, especifica en palabras de 32 bits el largo del header TCP, sin incluir la data. Se usa para determinar dónde empieza la porción de información. El campo reservado consta de 6 bits que no se usan hoy en día, debe ser cero. Los flags son 6: URG, ACK, PSH, RST, SYN y FIN:

  • URG = Puntero de urgencia.
  • ACK = Confirmación de recepción de segmento.
  • PSH = Proceso del segmento, sin pasar por el buffer.
  • RST = Reset de la conexión.
  • SYN = Inicio y apertura de sesión.
  • FIN = Implica que el emisor no tiene más data que enviar, final de la transmisión y final de la conexión.

Window, cantidad de bytes a ser enviado entre el origen y el destino (control de flujo). Zero windows nos indica que el receptor está enviando al emisor un mensaje de buffer saturado. Checksum, control de errores del header TCP. Urgent pointer, indica en qué lugar de la información se encuentra la data urgente contenida en el segmento. Solo es válido si el flag URG es significativo. El campo opciones es de uso variable, puede indicar, por ejemplo, el MSS pactada entre las partes al inicio de la sesión.

Latencia

Es el tiempo que transcurre en una sesión para que el protocolo o servicio registre el paquete de respuesta, correspondiente a un paquete emitido. Ejemplo: paquete de solicitud de lectura HTML y 44 ms después se registra el ACK.

Posibles Causas

  • Tránsito del ACK por la red.
  • La contención, es decir, el tiempo que debió esperar en el buffer antes de acceder al medio y ser transmitido.

Factores que Afectan la Latencia

  • El tamaño de los datagramas: paquetes más grandes disminuyen la latencia (se transmite más información en menos paquetes; son más grandes, por lo tanto, hay menos contención).
  • La tasa (rate) de envío/recepción de los datagramas. A mayor número de segmentos antes del arribo del primer ACK recibido (ventana deslizante), se reduce la latencia.

Sesión

Es la secuencia lógica de paquetes que forman el diálogo entre un cliente y un servidor, transportador por las capas 2, 3 y 4 de la red (o conjunto de redes) y que permiten la comunicación ordenada entre las partes. Está representada por la apertura de los puertos (buffers) de origen y destino.

Puerto

Es una entidad física que se representa como un buffer en el host origen (cliente) o destino (servidor), responsable de asignar en ella las solicitudes de servicios entrantes o salientes.

Tipos de Puertos

  • Puertos “bien conocidos”: del 0 al 1023, asignados por la IANA a los servicios estándares o privilegiados.
  • Puertos registrados: del 1024 al 49151, asignados por la IANA a servicios de usuario común, utilizados por aplicaciones específicas de la industria (Oracle, por ejemplo).
  • Puertos dinámicos y/o privados: de 49152 a 65535, usadas libremente por aplicaciones no controladas. Usualmente usados por programas troyanos, como por ejemplo, Devil Trojan (puerto 65000).

Transferencia

Durante la transferencia, existe un flujo de segmentos TCP, con sus correspondientes números de SEQ, ACK esperados y tamaño de la ventana para pautar la cantidad de información a recepcionar (control de flujo).

Throughput

Es la tasa efectiva de transporte de información, es decir, la cantidad de bits por segundo. Entre los factores que lo afectan se encuentra el tamaño medio del payload y el de las tramas. Luego, a mayor tamaño del paquete, menor pérdida por overhead y mayor throughput.

Otros Factores para Mejorar la Sesión

  • Distribución del tamaño de los paquetes.
  • Análisis de errores.

Tabla de Conexión TCP

  • Connection State: closed, listen, finWait1, closing, etc.
  • Local Address: contiene la dirección IP local para cada conexión TCP. En un estado listen tiene el valor 0.0.0.0.
  • Local Port: contiene el número de la puerta local para cada conexión TCP.
  • Remote Address: dirección IP remota de cada conexión TCP.
  • Remote Port: contiene el número de la puerta remota para cada conexión TCP.

Herramienta TCPDUMP

Es una herramienta de UNIX utilizada para reunir datos de una red, descifrar los bits y mostrar el resultado de una forma semicoherente.

Determinación de Puertos Empleados en un Host

  • Comando netstat
  • Currport

Netstat

Proporciona información estadística sobre las conexiones TCP/IP y de los protocolos activos.

C:\>netstat

  • Proto: El tipo de protocolo de transporte utilizado para establecer la conexión.
  • Local Address: El nombre o dirección IP de la computadora local y el número de puerto utilizado por la conexión.
  • Foreign Address: La dirección externa y el número o nombre del puerto asociado a la conexión.
  • State: El estado de la conexión (solo para TCP).

Estados TCP

Closed, Close_Wait, Established, Fin_Wait-1, Fin_Wait-2, Last_Ack, Listen, SYN_receive, SYN_send, Timed_wait.

Nbtstat

Nbstat proporciona información estadística sobre las conexiones NetBIOS sobre TCP/IP.

nbtstat /?

Arp

Todos los PC mantienen un caché ARP que conserva los últimos resultados de las operaciones ARP.

arp /?

Usos de Ping

  • Utilice ping contra la dirección de retorno 127.0.0.1.
  • Utilice ping contra la dirección IP del host.
  • Utilice ping contra otras IP, tal como la de los servidores.
  • Ping contra nombres.
  • ping /?

Tracert

Herramienta de información de Rutas que envía solicitudes de eco ICMP a una dirección IP e informa los errores ICMP devueltos.

Administración de Redes con MS TCP/IP

Ping, ipconfig o equivalente, arp, tracert, netstat, Nbtstat, Route print.

Análisis en Capa de Transporte

En esta capa se produce el “acoplamiento” e intercambio de bytes entre las aplicaciones cliente y servidor. Su análisis permite determinar el origen de ciertos problemas en los aplicativos.

Pasos de una Sesión

  1. Apertura o inicio (open).
  2. Transferencia/mantenimiento (data transfer).
  3. Cierre (close).

“Se debe analizar los parámetros o pasos claves para determinar qué subsistema falla o es deficiente”.

Cierre

El cierre ordenado de la sesión sirve para liberar los sockets y dejar recursos disponibles para futuras aplicaciones. Consiste en el intercambio de un TCP FIN y TCP FIN ACK. Si no ocurre un cierre ordenado, se usa un temporizador para cerrar el socket abierto, generando un mensaje de reset de conexión, TCP RST.

Entradas relacionadas: