dcsimg

Guía para entender TCP, el protocolo

Una breve introducción para ayudarle a comprender los conceptos básicos de TCP, el protocolo.

un conjunto de servicios básicos (bss) es:

Guía de estudio de la biblioteca en línea

TCP se utiliza en todas partes y comprender cómo funciona TCP permite a los administradores de sistemas y redes solucionar correctamente los problemas de comunicación de la red.

TCP es maravillosamente complejo, pero no te preocupes: no te vamos a decir que vayas a leer RFC 793. Esta es una introducción suave, o una desmitificación, si quieres. En este artículo cubriremos el TCP protocolo, con el mínimo de detalle necesario para comprender los conceptos básicos de TCP, el protocolo.


Introducción: términos clave que debe conocer

Las siguientes definiciones le ayudarán a comprender mejor el protocolo TCP:

Sección de la guía de estudio de la biblioteca en líneaTCP: Abreviatura de Transmission Control Protocol, y se pronuncia como letras separadas. TCP es uno de los principales protocolos de las redes TCP / IP.

Sección de la guía de estudio de la biblioteca en líneaProtocolo: Un formato acordado para transmitir datos entre dos dispositivos. Existe una variedad de protocolos estándar entre los que los programadores pueden elegir.

Sección de la guía de estudio de la biblioteca en líneaUDP: Un protocolo sin conexión que, como TCP, se ejecuta sobre redes IP.

Sección de la guía de estudio de la biblioteca en líneaTCP / IP: El conjunto de protocolos de comunicaciones que se utilizan para conectar hosts en Internet. TCP / IP utiliza varios protocolos, los dos principales son TCP e IP.

Los conceptos básicos de TCP / IP

A veces escuchamos a la gente llamarlo el TCP / IP conjunto de protocolos lo que significa que están hablando de capas 1-4 más 7, similar a cómo presentamos las capas. TCP vive en la capa 4, junto con su amigo poco confiable UDP. TCP significa Protocolo de control de transmisión, por y. Cuando un paquete está encapsulado, por supuesto, tendremos el encabezado IP en la capa 3, e inmediatamente después está el encabezado TCP, que se convierte en los "datos" para el encabezado IP. TCP incluye su propia jerga, como todo lo demás. Hay s Ethernet tramas, datagramas IP y ahora segmentos TCP. Puedes pensar en todos ellos como paquetes, pero asegúrese de utilizar los términos correctos cuando se comunique con otras personas.

Mientras trataba de pensar en otras cosas que la gente dice sobre TCP, me pareció apropiado dedicar un tiempo a explicar las cosas que la gente está tratando de decirle. No hay nada peor que hacerle una pregunta a un gurú y obtener una respuesta como "bueno, es de principio a fin". Si supiera TCP, sabría lo que esto significa, pero entonces no habría hecho la pregunta en primer lugar. Veamos qué podemos hacer al respecto.

Cómo funciona

Sí, TCP es de un extremo a otro. No existe el concepto de transmisión, ni nada parecido. Para hablar TCP con otra computadora, debe estar conectado, como una llamada telefónica, para que cada extremo esté preparado para hablar. "Transmisión de transmisión" es también otra frase que escuchará.

que es mu-mimo wifi

Esto simplemente significa que TCP funciona con flujos de datos y que los paquetes fuera de orden están bien. De hecho, TCP funciona incluso con paquetes perdidos o dañados. Eventualmente los volverá a tener. Es más probable que escuche a un programador hablar sobre transmisiones, refiriéndose al hecho de que es difícil saber cuándo se van a enviar los datos y puede enviar datos no estructurados a través de una transmisión TCP. TCP puede almacenar en búfer cosas, de manera extraña que a veces no tiene sentido, pero ni los programadores ni los usuarios deben preocuparse por eso.

Paquetes TCP y ACK

Siempre que se envía un paquete TCP, un acuse de recibo o POBRE DE MÍ, es regresado. Esta es realmente la única y para proporcionar un protocolo confiable: debe informar a la otra parte si ha recibido cosas. Por supuesto, la gente no mejorará en un sistema ineficiente como este. Introduzca "ACK a cuestas" en la imagen. La gente llama a TCP "duplex completo"debido al piggybacking, ya que permite que ambos lados envíen datos al mismo tiempo. Esto se logra llevando el ACK del paquete anterior recibido dentro del paquete actual, a cuestas. En términos de preservar la utilización de la red, esto es mucho mejor que enviar un paquete completo paquete separado solo para decir "lo tengo" Finalmente, existe el concepto de un ACK acumulativo: ACKing más de un paquete a la vez, para decir "Tengo todos los demás, incluido este".

In IP tratamos con paquetes individuales que forman parte de una IP más grande datagrama. Recuerde, un segmento TCP es un paquete TCP individual. TCP es una secuencia, por lo que en realidad no hay ningún otro concepto del que preocuparse aparte de una "conexión". Tamaño máximo de segmento, o MSS, se negocia en el momento de la conexión, pero casi siempre cambia. El MSS predeterminado es 536, que es 576 (el tamaño de paquete mínimo garantizado por IP) menos 20 bytes para el encabezado IP y 20 bytes para el encabezado TCP. TCP intenta evitar causar fragmentación a nivel de IP, por lo que casi siempre comenzará con 536.

La característica más sexy de TCP aún permanece. Este es el Protocolo de ventana deslizante. La ventana es esencialmente la cantidad de datos sin ACK que se han enviado y puede crecer y reducirse a voluntad. Esto se vuelve realmente interesante y lo cubriremos la próxima vez.

El encabezado

los encabezamiento de un paquete TCP es 20 bytes, al igual que una IP. Tanto los encabezados IP como TCP pueden agrandarse si se utilizan opciones. TCP no incluye una dirección IP. Solo necesita saber sobre el puerto al que conectarse. Sin embargo, no deje que esto lo confunda. TCP realiza un seguimiento de las conexiones de un extremo a otro en una tabla de estado que incluye direcciones IP y puertos. Es solo que el encabezado de TCP no necesita la información de IP, ya que proviene de IP.

Es más fácil pensar en un paquete como un flujo, un byte tras otro. Todo el mundo quiere mostrar una tabla para el encabezado, pero esto puede confundir más las cosas. El encabezado TCP, que comienza con el primer bit, es el siguiente:

  • Puerto de origen, 16 bits: mi puerto TCP local que se usa para esta conexión
  • Puerto de destino, 16 bits: el puerto TCP de la máquina remota con el que estoy hablando
  • Número de secuencia, 32 bits: el número utilizado para realizar un seguimiento del pedido de paquetes
  • Número de acuse de recibo, 32 bits: el número de secuencia recibido previamente que estamos ACKing
  • Longitud del encabezado, 4 bits: el número de palabras de 32 bits en el encabezado. Se establece en cinco, si no se utilizan opciones
  • Reservado, 6 bits: reservado para uso futuro
  • Banderas, 6 bits en total, cada bandera es un bit (encendido o apagado):
    • URG: puntero de campo urgente
    • ACK: este paquete es (o incluye) un ACK
    • PSH: función push (no se usa)
    • RST: restablecer o finalizar la conexión
    • SYN: paquete de sincronización, también conocido como Iniciar conexión
    • FIN: paquete final, iniciar secuencia de colgar
  • Tamaño de ventana, 16 bits: comienza con el campo ACK que aceptará el lado receptor
  • Suma de comprobación, 16 bits: suma de comprobación del encabezado y los datos de TCP
  • Puntero urgente, 16 bits: un desplazamiento del número de secuencia que apunta a los datos que siguen a los datos URG
  • Opciones: MSS, escala de ventana y más. Este es principalmente el enfoque de nuestra próxima entrega sobre TCP.

Cada lado de la conexión TCP utiliza los dos pares de dirección IP y puerto para identificar la conexión y envía los datos a la aplicación que está escuchando en el puerto.

Sección de la guía de estudio de la biblioteca en línea Sabías... TCP es el protocolo utilizado con más frecuencia y se encuentra en la capa 4 de la pila de protocolos. TCP proporciona control de congestión, confiabilidad y un flujo por el cual enviar datos. Para ser eficiente, TCP intenta enviar tantos datos como sea posible antes de recibir un ACK.

Artículo adaptado con permiso de EmpresaNetworkingPlanet.




Charlies Schluting colabora con EnterpriseNetworkPlanet, un sitio de Internet.com.