You are on page 1of 28

Protocolo de control de transmisión

De Wikipedia, la enciclopedia libre

Para otras aplicaciones, vea TCP (desambiguación) .

Protocolo de control de transmisión
    
Desarrollado por Introducido Industria Hardware compatible RFC 675 RFC 793 RFC 1122 RFC 2581 RFC 5681

Estándar internacional

Internet Engineering Task Force 12 1974 LAN , WAN , Internet Los teléfonos móviles ,ordenadores personales ,ordenadores portátiles

El Protocolo de Control de Transmisión ( TCP ) es uno de los principales protocolos de la suite de protocolo de Internet (IP), y es tan común que todo el conjunto es a menudo llamado TCP / IP . TCP proporciona fiabilidad , ordenada, sin errores verificado la entrega de una corriente de octetosentre los programas que se ejecutan en computadoras conectadas a una red de área local , intranet o Internet . Es reside en la capa de transporte . Exploradores Web utilizan TCP cuando se conectan a los servidores de la World Wide Web , y se utiliza para entregar correo electrónico y la transferencia de archivos de un lugar a otro. Las aplicaciones que no requieren la fiabilidad de una conexión TCP pueden utilizar en su lugar la conexión Protocolo de datagramas de usuario(UDP), que hace hincapié en la operación de baja sobrecarga y la reducción de la latencia en lugar de la comprobación de errores y la validación de entrega.

Suite de protocolo de Internet
Capa de aplicación

 

DHCP

DHCPv6

                   

DNS

FTP

HTTP

IMAP IRC

LDAP

MGCP

NNTP

BGP

NTP

POP RPC

RTP

RTSP

RIP

SIP

SMTP

SNMP SOCKS

SSH

Capa de enlace  ARP / InARP ....    Telnet TLS / SSL XMPP Más información .. La capa de transporte       TCP UDP DCCP SCTP RSVP de Más información ... Capa de Internet    IP IPv4 IPv6       ICMP ICMPv6 ECN IGMP IPsec Más información .

1 Transmisión fiable .4.1 Establecimiento de la conexión 4.3 La utilización de recursos 4.    V T E Contenido [ ocultar ]     1 Origen histórico 2 Función de la red 3 Estructura de un segmento TCP 4 Protocolo de Operación o o o o 4.4 Transferencia de datos  4.      NDP OSPF Túneles L2TP PPP Control de acceso al medio     Ethernet DSL ISDN FDDI  Más información ...2 de terminación Conexión 4.

4.4.2 TCP checksum para IPv6 12.3 Control de flujo 4.9 datos fuera de banda 4.2 Conexión secuestro 5.7 Ventana de escala 4. Un componente central de control de este modelo .2 Detección de errores 4.5 Tamaño máximo de segmento 4.   o o o o o o  4.10 Forzar la entrega de datos 5 Vulnerabilidades o o o        5.3 Checksum descargar 13 Véase también 14 Referencias 15 Lectura adicional 16 Enlaces externos o o 16.4.1 RFC 16.1 Denegación de servicio 5. Vint Cerf y Bob Kahn .1 TCP checksum para IPv4 12. describe un protocolo de conexión en red para compartir recursos con conmutación de paquetes entre los nodos.2 Otros Origen histórico [ editar ] En mayo de 1974. " [ 1 ] Los autores del artículo. el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) publicó un artículo titulado " Protocolo para Packet Intercomunicación Network.4 Control de congestión 4.8 marcas de tiempo TCP 4.3 TCP veto 6 puertos TCP 7 Desarrollo 8 TCP sobre redes inalámbricas 9 implementaciones de hardware 10 Depuración 11 Alternativas 12 Checksum cómputo o o o     12.6 reconocimientos selectivos 4.

Dado que la transferencia de paquetes a través de muchas redes no es fiable. protocolos como elProtocolo de transporte en tiempo real (RTP) que se ejecuta sobre el protocolo de datagramas de usuario (UDP) se recomiendan en su lugar. aunque formalmente se llama a partir de ahora el conjunto de protocolos de Internet . El encabezado describe la fuente del paquete. los paquetes IP pueden perderse .fue elPrograma de control de transmisión que incorpora dos enlaces orientados a la conexión y de datagramas entre hosts servicios. en lugar de dividir los datos en pedazos IP de tamaño y la emisión de una serie de peticiones IP. incluyendo el ancho (WWW) World Web . TCP es utilizado ampliamente por muchas de las aplicaciones más populares de Internet. [ 2 ] TCP es un servicio de entrega de flujo confiable que garantice que todos los bytes recibidos serán idénticos a bytes enviados y en el orden correcto. el software puede emitir una única solicitud para TCP y dejar TCP manejar los detalles de propiedad intelectual. y por lo tanto. Debido a la congestión de la red. reorganiza los datos fuera de orden. o cualquier otro comportamiento impredecible de la red. balanceo de carga de tráfico. TCP está optimizado para la entrega correcta y no la entrega a tiempo. cuando un programa de aplicación desea enviar una gran cantidad de datos a través de Internet a través de IP. E-mail . TCP abstrae la comunicación de la aplicación de los datos de redes subyacentes. No es particularmente adecuado para aplicaciones en tiempo real tales como voz sobre IP . una técnica conocida como acuse de recibo positivo con retransmisión . y algunos medios de streaming de aplicaciones. TCP veces incurre en demoras relativamente largas (del orden de segundos) a la espera de mensajes fuera de orden o retransmisiones de mensajes perdidos. IP funciona mediante el intercambio de elementos de información llamados paquetes . peerto-peer para compartir archivos . duplicarse. Función de la red [ edit ] El protocolo corresponde a la capa de transporte de TCP suite / IP. Es decir. el destino y la información de control. TCP detecta estos problemas. TCP proporciona un servicio de comunicación en un nivel intermedio entre un programa de aplicación y el Protocolo de Internet (IP). Una vez que el receptor TCP ha vuelto a montar la secuencia de octetos transmitidos originalmente. Protocolo de transferencia de archivos . El cuerpo contiene el IP de datos está transmitiendo.El modelo fue conocido informalmente como TCP / IP . los pasa a la aplicación receptora. e incluso ayuda a minimizar la congestión de la red para reducir la aparición de los otros problemas. Para este tipo de aplicaciones. o entregadas fuera de orden. peticiones de retransmisión de datos perdidos. Un paquete es una secuencia de octetos (bytes) y consta de una cabecera seguida de un cuerpo . Por lo tanto. Shell Secure. El Programa de Control de Transmisión monolítica más tarde se dividió en una arquitectura modular que consiste en el Protocolo de control de transmisión en la capa orientada a la conexión y el Protocolo de Internet en la capa de interconexión (datagrama).

Por ejemplo. La longitud de la sección de datos no está especificada en el encabezado de segmento TCP. cuando un archivo HTML se envía desde un servidor web. La sección de datos sigue al encabezado. y un campo de extensión opcional ( Opciones . no está en consonancia con la terminología actual. Los paquetes TCP los datos de estos buffers en segmentos y pide al módulo internet [por ejemplo IP] para transmitir cada segmento para el TCP de destino. La capa de Internet encapsula cada segmento TCP en un paquete IP mediante la adición de una cabecera que incluye (entre otros datos) en el destino IP . Se puede calcular restando la longitud combinada de la cabecera TCP y la cabecera IP encapsulada de la longitud total del datagrama IP (especificado en la cabecera IP). [ 3 ] El término de paquetes TCP . Esta técnica fundamental requiere que el receptor responde con un mensaje de acuse de recibo. Sus contenidos son los datos de carga transportadas para la aplicación. y añade una cabecera TCP crear un segmento TCP. que un mensaje se divide en para el enrutamiento eficiente a través de la red. TCP realiza un seguimiento de las unidades individuales de transmisión de datos. [ 2 ] Mientras IP encarga de la entrega real de los datos. El remitente también mantiene un temporizador desde que se envió el paquete.se utiliza para garantizar la fiabilidad de transferencias de paquetes. El emisor mantiene un registro de cada paquete que envía. e intercambió con sus compañeros. la capa TCP ( Transport Layer ) reensambla los segmentos individuales y asegura que están bien ordenados y libres de errores. Cuando el programa cliente en el equipo de destino que recibe. lo divide en trozos. en el segmento hace referencia a la TCP Protocol Data Unit (PDU) . datagramas [ 4 ] a la PDU IP y el marco de la capa de enlace de datos PDU: Los procesos de transmisión de datos invocando el TCP y pasando buffers de datos como argumentos. La cabecera TCP contiene 10 campos obligatorios. y retransmite un paquete si el temporizador expira antes de que el mensaje ha sido reconocido. aunque a veces se utiliza de manera informal. Estructura de un segmento TCP [ edit ] Protocolo de Control de Transmisión acepta datos de un flujo de datos. El segmento TCP es entonces encapsulado en un protocolo de Internet (IP) de datagramas. . [5] Un segmento TCP consiste en un segmento de cabecera y los datos de la sección. llamado segmentos . ya que les corrientes a una solicitud. la capa de software de TCP de servidor que divide la secuencia de octetos del archivo en segmentos y las envía de forma individual a la capa de software de IP ( Capa de Internet ). ya que recibe los datos. Se necesita el contador de tiempo en caso de que un paquete se pierde o se daña. fondo anaranjado en la tabla).

Esto confirma la recepción de todos los bytes anteriores (si los hay). dando así el tamaño mínimo de 20 bytes y un máximo de 60 bytes.Protección ocultamiento ECN-nonce (añadido a la cabecera por RFC 3540 ). El encabezado de tamaño mínimo es de 5 palabras. . pero no hay datos. y el máximo es de 15 palabras.Puerto de origen (16 bits) Identifica el puerto de envío Puerto de destino (16 bits) Identifica el puerto receptor Número de secuencia (32 bits) Tiene una doble función:  Si el SYN se fija la bandera (1). Número de reconocimiento (32 bits) Si el ACK indicador se establece a continuación. lo que permite un máximo de 40 bytes de opciones en la cabecera. entonces este es el número de secuencia inicial. Este campo toma su nombre del hecho de que también es el desplazamiento desde el inicio del segmento TCP a los datos reales. entonces este es el número de secuencia acumulado del primer byte de datos de este segmento de la sesión actual.  Si el SYN bandera es clara (0). Reservado (3 bits) Para uso futuro y se debe establecer en cero Banderas (9 bits) (bits de control aka) Contiene 9 banderas de 1 bit  NS (1 bit) . el valor de este campo es el siguiente número de secuencia que el receptor está esperando. Compensación de datos (4 bits) Epecifica el tamaño de la cabecera TCP en palabras de 32 bits. El número de secuencia del primer byte de datos real y el número reconocido en el correspondiente ACK son entonces este número de secuencia más 1. La primera ACK enviado por cada extremo reconoce inicial en sí número de secuencia del otro extremo.

Sincronizar números de secuencia.  Si el SYN bandera es clara (0).  FIN (1 bit) .Congestion Window Reduced (CWR) esté establecido por el envío de acogida para indicar que se ha recibido un segmento TCP con el ECE set bandera y había respondido en el mecanismo de control de congestión (añadido a la cabecera por RFC 3168 ). bytes) (más allá del número de orden en el campo de reconocimiento) que el emisor de este segmento está dispuesto a recibir ( véase Control de flujo y Window Scaling ) Suma de comprobación (16 bits) El de 16 bits checksum campo se utiliza para la comprobación de errores de la cabecera y los datos Puntero urgente (16 bits) Si el URG indicador se establece. Dependiendo de qué tipo de opción que nos ocupa. CWR (1 bit) . que especifica el número de unidades de tamaño de la ventana (por defecto. este campo de 16 bits es un desplazamiento desde el número de secuencia que indica el último byte de datos urgente Opciones (variable 0-320 bits.Restablecer la conexión  SYN (1 bit) .No hay más datos de remitente Tamaño de la ventana (16 bits) El tamaño de la ventana de recepción .  URG (1 bit) . y no tiene una opción de longitud . se pueden establecer las siguientes dos campos: el campo Opción y Longitud indica la longitud total de la opción y el campo Opción de datos contiene el valor de la opción. El campo Opción-Tipo indica el tipo de opción. que se recibe un paquete con marca de congestión con experiencia en conjunto encabezado IP durante la transmisión normal (añadido a la cabecera por RFC 3168 ).indica que el campo de reconocimiento es significativo. entre otros. si procede.  ECE (1 bit) . a continuación.  RST (1 bit) .Función Push. que el par es TCP ECN capaz. y es el único campo que no es opcional. Por ejemplo.indica que el campo puntero urgente es significativa  ACK (1 bit) . Pide a insertar los datos almacenados en el búfer de la aplicación receptora. divisibles por 32) La longitud de este campo se determina por el campo de desplazamiento de datos. OpciónData (variable).  PSH (1 bit) . Opción-Longitud (1 byte). Todos los paquetes después de la inicial de SYN paquete enviado por el cliente deben tener esta bandera. cuando es evidente.ECN-Echo indica  Si el SYN se fija la bandera (1). un byte Opción Tipo de 0x01 indica que se trata de una opción de No-Op utilizado sólo para el relleno. Sólo el primer paquete enviado desde cada extremo debe tener esta bandera. Algunas otras banderas cambian de significado sobre la base de este indicador. y algunos sólo son válidas para cuando se establece. Las opciones tienen un máximo de tres campos: Opción de Póquer (1 byte).

Tenga en cuenta que esta longitud es la longitud total del campo de opciones dado. Algunas opciones sólo se pueden enviar al SYN se fija. incluyendo la opción-Kind and bytes Opción de longitud. aún no normalizada o no asignado) Relleno El encabezado TCP relleno se utiliza para garantizar que los extremos de cabecera y los datos TCP comienza en un límite de 32 bits. S (24 bits) -.Marca de tiempo y el eco de la marca de tiempo anterior ( ver marcas de tiempo TCP para más detalles ) [ 9 ] 14.. BBBB. o 34) .TCP alternativo de datos de suma de comprobación. En resumen. Opción de longitud). TTTT. 26.Escala de ventana ( ver el ajuste de ventanas para los detalles ) [SYN] [6] 4. Relleno) Esto puede ser utilizado para alinear los campos de opciones en los límites de 32 bits para un mejor rendimiento. Opción Tipo y longitudes estándar dados como (Opción-Kind. Así.Fin de la lista de opciones 1 (8 bits) . (Las opciones restantes son obsoletos.4.confirmación selectiva (SACK) [ 8 ] Estos dos primeros bytes son seguidos por una lista de 1-4 bloques ser reconocido selectivamente.Ninguna operación (NOP. 18. y está a sólo un byte.tamaño de segmento máximo ( véase el tamaño máximo de segmento ) [SYN]   3. S (24 bits) . Un byte de Tipo de Opción-0x02 indica que esta es la opción tamaño máximo del segmento.  2. Un byte Opción-Kind of 0 es la opción Fin Opciones de. (bits variables) . especificado como 32 bits Begin / End punteros. la longitud del campo será de 4 bytes (2 bytes de tipo y longitud). SS (32 bits) . un campo de opción MSS con un valor de 0x05B4 se mostrará como (0x02 0x04 0x05B4) en la sección de opciones de TCP.10. y será seguido por un byte que especifica la longitud del campo de MSS (debe ser 0x04). N.2 (16 bits) . . experimental.    8. (bits variable. N. EEEE (80 bits) . TCP Solicitud Checksum alternativo [SYN] [ 10 ] 15. [SYN] ( Ver reconocimientos selectivos para más detalles ) [ 7 ]  5.3. N es o bien 10. .   0 (8 bits) . mientras que el valor MSS se expresa típicamente en dos bytes..3. EEEE.Reconocimiento Selectivo permitido.. sino que se indican a continuación como [SYN] . El relleno se compone de ceros.u Opción-Data byte le sigue. [ 11 ] Protocolo de funcionamiento [ edit ] ..

o un acuse de recibo de la solicitud de finalización de conexión enviada previamente. SYN-RECEIVED (Servidor) representa la espera de una conexión de solicitud de acuse de recibo que confirma después de tener ambos recibieron y enviaron una petición de conexión. Durante la vida de una conexión TCP el punto final local. SYN-SENT (Cliente) representa la espera de una petición de conexión a juego después de haber enviado una solicitud de conexión. Las conexiones deben establecerse adecuadamente en un proceso de negociación de varios pasos ( establecimiento de conexión ) antes de entrar en la transferencia de datos de fase. El estado normal para la fase de transferencia de datos de la conexión. ESTABLECIDO (Tanto en el servidor y el cliente) representa una conexión abierta. FIN-WAIT-1 (Servidor y cliente) representa la espera de una solicitud de finalización de conexión del TCP remoto. Una conexión TCP está gestionado por un sistema operativo a través de una interfaz de programación que representa el punto final local para las comunicaciones. se somete a una serie de estados cambios: [ 12 ] ESCUCHAR (Servidor) representa la espera de una petición de conexión de cualquier TCP remoto y el puerto. la toma de Internet . la finalización de la conexión se cierra circuitos virtuales establecidos y libera todos los recursos asignados. Después de que se complete la transmisión de datos. FIN-WAIT-2 .Operaciones de protocolo TCP se pueden dividir en tres fases. los datos recibidos pueden ser entregadas al usuario.

SYN : El abierto activo se lleva a cabo por el cliente que envía un SYN al servidor. CIERRE (Servidor y cliente) representa la espera de una conexión de terminación solicitud de reconocimiento del TCP remoto.] CERRADO (Servidor y cliente) no representa el estado de conexión en absoluto. Para establecer una conexión. [De acuerdo con RFC 793una conexión puede permanecer en TIME-WAIT durante un máximo de cuatro minutos conocidos como MSL (duración máxima del segmento). Los pasos 1 y 2 establecen el parámetro de conexión (número de secuencia) en una dirección y se . Antes de que un cliente intenta conectar con un servidor. 3. B 1. El cliente establece el número de secuencia del segmento a un valor al azar A. un cliente puede iniciar una sesión abierta. TIME-WAIT (Servidor o cliente) representa la espera de tiempo para pasar a estar seguro de que el TCP remoto ha recibido el acuse de recibo de su solicitud de finalización. el cliente envía un ACK de vuelta al servidor. A 1.(Servidor y cliente) representa la espera de una solicitud de finalización de conexión del TCP remoto. el servidor debe primero unirse y escuchar en un puerto a abrir para las conexiones: esto se llama una apertura pasiva. CLOSE-WAIT (Servidor y cliente) representa la espera de una solicitud de finalización de conexión del usuario local. A 1. El número de secuencia se establece en el valor recibido acuse de recibo es decir. TCP utiliza una de tres vías apretón de manos . LAST-ACK (Servidor y cliente) representa a la espera de un acuse de recibo de la solicitud de finalización de conexión enviada anteriormente al TCP remoto (que incluye un reconocimiento de su solicitud de finalización). El número de acuse de recibo se fija a uno más que el número de secuencia recibido es decir. En este punto. el cliente y el servidor han recibido un reconocimiento de la conexión. y el número de secuencia que el servidor elige para el paquete es otro número aleatorio. de tres vías (o 3 pasos) apretón de manos se produce: 1. ACK : Por último. y el número de acuse de recibo se fija a uno más que el número de secuencia recibido es decir. Una vez que se establece la apertura pasiva. SYN-ACK : En respuesta. 2. B. el servidor responde con un SYN-ACK. Establecimiento de la conexión [ edit ] Para establecer una conexión.

Esto permite a una aplicación TCP para asegurarse de que la aplicación remota ha leído todos los datos de la ex enviado de honor el FIN del lado opuesto. cuando el host A envía un FIN y respuestas B de acogida con un FIN y ACK (sólo combina 2 pasos en uno) y el host A responde con un ACK. pero el otro no tiene. Algunas pilas TCP huésped pueden implementar una secuencia de cierre half-duplex. tiempo durante el cual el puerto local no está disponible para nuevas conexiones. . pero la otra parte puede. Cuando un punto final quiere detener su medio de la conexión. Esto podría ser considerado como un 2-way handshake ya que la secuencia / ACK FIN se hace en paralelo en ambos sentidos. Si tal acogida cierra una conexión activa. lo que evita la confusión debido a paquetes retardados se entregan durante las conexiones posteriores. También es posible poner fin a la conexión de un apretón de manos de 3 vías. Es posible que ambos hosts para enviar las FIN simultáneamente. el lado que envía la primera aleta antes de recibir una espera a un tiempo de espera antes de que finalmente el cierre de la conexión. Terminación Conexión [ edit ] La fase de finalización de conexión utiliza una de cuatro vías apretón de manos . Con esto. El lado de terminación debe continuar la lectura de los datos hasta el otro lado termina también. Por lo tanto.2. en cuyo caso uno de los lados ha terminado su extremo. que reconoce el otro extremo con un ACK. transmite un paquete FIN. [ 13 ] Este es quizás el método más común. Después de que se llegó a la conclusión tanto FIN / ACK intercambios. pero aún no ha leído todos los datos de entrada de la pila ya recibió del enlace. como Linux o HP-UX hacer. La parte que ha terminado ya no puede enviar los datos al respecto.2. con cada lado de la conexión de terminación de forma independiente. tanto sólo hay que ACK. Una conexión puede ser "medio-abierto" .13 en RFC 1122 ). un típico desmontaje requiere un par de segmentos FIN y ACK desde cada extremo TCP. este host envía un RST en lugar de un FIN (Sección 4.reconoce. se establece una comunicación full-duplex. Los pasos 2 y 3 establecen el parámetro de conexión (número de secuencia) en la otra dirección y se reconoce.

Cada entrada en la tabla se conoce como un bloque de control de transmisión o TCB. una pila TCP / IP como el descrito anteriormente no garantiza que todos los datos que llegan a la otra aplicación. cerrar (s). enviar (s. Este puerto permanece asignada durante toda la conversación. Cada vez que se recibe un paquete. Tanto porque la pila a distancia para perder todos los datos recibidos. y efectivamente limita el número de conexiones de salida de cada una de las direcciones IP del cliente. Algunos protocolos de aplicación pueden violar las capas del modelo OSI . corriendo datos sobre los paquetes que se intercambian y tampones para enviar y recibir datos. la aplicación TCP debe realizar una búsqueda en esta tabla para encontrar el proceso de destino. utilizando el TCP de apertura / cierre de enlace para el protocolo de aplicación de apertura / cierre apretón de manos esto puede encontrar el problema RST de cierre activo. Pero la pila TCP remoto no puede distinguir entre un Abortando RST conexión y RST pérdida de datos . el cliente puede quedarse sin recursos y se vuelven incapaces de establecer nuevas conexiones TCP. El número de sesiones en el lado del servidor está limitado sólo por la memoria y puede crecer como nuevas conexiones llegan. ambos extremos identificar la sesión con la dirección y el puerto del cliente. Para un flujo de programa habitual como la de arriba. Contiene información acerca de los puntos finales (IP y puerto).cuando se cierra la conexión activa. el estado de la conexión. Transferencia de datos [ edit ] Hay algunas características clave que marcan TCP aparte de User Datagram Protocol :  Pedido de transferencia de datos .el host de destino reorganiza según el número de secuencia [ 2 ] . pero el cliente debe asignar un puerto aleatorio antes de enviar la primera SYN al servidor. El uso de recursos [ edit ] La mayoría de las implementaciones de asignar una entrada en una tabla que asigna una sesión en un proceso del sistema operativo que se ejecuta. Como un ejemplo: s = connect (a distancia). Debido a los paquetes TCP no incluyen un identificador de sesión. datos). Ambos extremos deben asignar espacio para los paquetes no reconocidos y recibidos (pero no leídos) de datos.Si una aplicación no se cierra correctamente conexiones sin contrapartida. incluso desde otras aplicaciones.

limita la velocidad de un remitente transfiere datos para garantizar la entrega segura. 102 y 103. Por ejemplo. TCP utiliza principalmente un acuse de recibo acumulativo esquema. debería ser impredecibles para defenderse de los ataques de predicción de secuencia TCP . los números de secuencia de los cuatro bytes de carga útil son 100. para detener la transferencia y permitir que los datos en la memoria intermedia a ser procesados. el siguiente acuse de recibo contiene un 0 en el tamaño de la ventana. Este número puede ser arbitrario y. ambos equipos intercambian un número de secuencia inicial (ISN). . Detección de errores [ edit ] Los números de secuencia permiten a los receptores a descartar paquetes duplicados y paquetes reordenados correctamente secuencia. desorden. de hecho. o la pérdida de paquetes que pueden producirse durante la transmisión. a continuación. Cuando este paquete llega al equipo receptor. que retransmite los datos. los receptores TCP pueden enviar confirmaciones selectivas para proporcionar más información. En los dos primeros pasos del 3-way handshake. Si el remitente deduce de ello que se han perdido datos en la red. el número de secuencia debe ser incrementado. sería devolver un número de confirmación de 104 ya que es el número de secuencia del próximo byte que espera recibir en el próximo paquete. independientemente de cualquier fragmentación. Para cada byte de carga útil transmitida. El remitente establece el campo de número de secuencia para el número de secuencia del primer byte de carga útil en el campo de datos del segmento. 101. y el receptor envía un acuse de recibo que especifica el número de secuencia del siguiente byte que esperan recibir.cualquier corriente acumulado no reconoció se retransmite [ 2 ]  Libre de errores de transferencia de datos [ 14 ]  Control de flujo . Cuando el búfer del host receptor se llena. El número de secuencia identifica el orden de los bytes enviados desde cada ordenador de manera que los datos pueden ser reconstruidos en orden. Además de reconocimientos acumulados. [ 2 ]  Control de congestión [ 2 ] Transmisión fiable [ edit ] TCP utiliza un número de secuencia para identificar cada byte de datos. Retransmisión de paquetes perdidos . Agradecimientos permiten a los remitentes que determinan cuándo retransmitir paquetes perdidos. donde el receptor envía un acuse de recibo que significa que el receptor ha recibido todos los datos que preceden al número de secuencia reconocido. si un equipo emisor envía un paquete que contiene cuatro octetos de carga útil con un campo de número de secuencia de 100. El receptor insinúa continuamente el remitente en la cantidad de datos se pueden recibir (controlado por la ventana deslizante).

La suma de comprobación débil está parcialmente compensado por el uso común de un CRC o mejor comprobación de integridad en la capa 2 . la introducción de errores en los paquetes entre lúpulo CRCprotegido es común. tal como se utiliza en PPP o la Ethernet marco. pero el extremo-a-extremo 16 bits suma de comprobación TCP atrapa la mayoría de estos errores simples. La suma de comprobación TCP es una comprobación débil para los estándares modernos. por debajo de los protocolos TCP e IP. esto no significa que el 16-bit de suma de comprobación TCP es redundante: notablemente. El host emisor sólo puede enviar hasta esa cantidad de datos antes de que se debe esperar a que un reconocimiento y actualización de la ventana del host receptor. el receptor especifica en la ventana de recepción campo de la cantidad de datos. Datos Enlace capas con alta tasa de errores de bit pueden requerir capacidades de corrección / detección de errores de enlace adicionales. Sin embargo. . Por ejemplo. recibidos (en bytes) que está dispuesto para amortiguar para la conexión. El control de flujo [ edit ] TCP utiliza un extremo a extremo de control de flujo del protocolo para evitar que el remitente envíe datos demasiado rápido para que el receptor TCP para recibir y procesar de forma fiable. [ 2 ] TCP utiliza una ventana deslizante de protocolo de control de flujo. [ 15 ] Este es el principio de extremo a extremo en el trabajo.Para asegurar un correcto checksum campo se incluye ( ver estructura de segmentos TCP para obtener detalles sobre la suma de comprobación ). el teléfono inteligente debe regular el flujo de datos a fin de no ser abrumado. si un PC envía datos a un teléfono inteligente que procesa de forma poco a poco los datos recibidos. En cada segmento TCP. Tener un mecanismo de control de flujo es esencial en un entorno donde las máquinas de diversas velocidades de la red se comunican. además.

por lo general utilizan el algoritmo de Karn o marcas de tiempo TCP (ver RFC 1323 ). . Estos mecanismos de control de la tasa de datos que entran en la red. Las implementaciones modernas de TCP contienen cuatro algoritmos entrelazados: Slowstart . evitar la congestión . minimizar errores. TCP utiliza una serie de mecanismos para lograr un alto rendimiento y evitar la congestión del colapso . donde el rendimiento de la red puede caer en varios órdenes de magnitud. puede anunciar repetidamente una ventana de recepción pequeña. Cuando expira el temporizador de persistir. hay una serie de algoritmo de evitación de congestión TCP variaciones. Como resultado. el emisor TCP intenta recuperación mediante el envío de un pequeño paquete de manera que el receptor responde mediante el envío de otro acuse de recibo que contiene el nuevo tamaño de la ventana. los remitentes y receptores TCP pueden alterar el comportamiento del flujo de datos. Estas muestras de RTT individuales se promedian en el tiempo para crear una suavizada Round Trip Time (SRTT) utilizando Jacobson algoritmo 's.Cuando un receptor anuncia un tamaño de ventana de 0. manteniendo el flujo de datos por debajo de una tasa que daría lugar a colapso. El comportamiento de este temporizador se especifica en el RFC 6298 . retransmisión rápida yrecuperación rápida ( RFC 5681 ).Esto se conoce más generalmente como control de la congestión y / o evitación de la congestión de la red. El temporizador de persistir se utiliza para proteger TCP desde un punto muerto situación que podría surgir si una actualización del tamaño de la ventana posterior del receptor se pierde. Mejora de TCP para manejar confiablemente pérdida. los remitentes emplean un tiempo de retransmisión (RTO) que se basa en la estimación de tiempo de ida y vuelta (o RTT) entre el emisor y el receptor. administrar la congestión y va muy rápido en entornos de alta velocidad son las áreas actuales de investigación y desarrollo de normas. También producen un aproximadomax-min justa distribución entre los flujos. Este valor SRTT es lo que se utiliza finalmente como la estimación del tiempo de ida y vuelta. ya que es ineficiente para enviar sólo unos pocos bytes de datos en un segmento TCP. los remitentes deben tener cuidado al calcular muestras RTT de paquetes retransmitidos. Además. dada la relativamente gran sobrecarga de la cabecera TCP. Hay sutilezas en la estimación de RTT. así como la varianza en este tiempo de ida y vuelta. Si el receptor está procesando los datos entrantes en pequeños incrementos. son utilizados por los remitentes para inferir las condiciones de red entre el emisor y el receptor TCP. Por ejemplo. el emisor se detiene el envío de datos y se inicia el temporizador de persistir . Congestion Control [ edit ] El principal aspecto final del TCP es el control de congestión . Junto con contadores de tiempo. Reconocimientos para los datos enviados o falta de reconocimientos. y el remitente no puede enviar más datos hasta recibir una nueva actualización del tamaño de la ventana del receptor.Esto se conoce como el síndrome de ventana tonto .

donde cada bloque SACK es transportada por los números iniciales y finales de la secuencia de un rango contiguo de que el receptor ha recibido correctamente. y utilizar esta opción para ajustar dinámicamente el MSS para evitar la fragmentación IP dentro de la red .000 bytes son enviados en 10 paquetes TCP diferentes. típicamente el SMS es anunciado por cada lado usando la opción SMS cuando se establece la conexión TCP. Para un mejor rendimiento. Una extensión de la opción SACK es la opción duplicado-SACK. Estrictamente hablando. Reconocimientos selectivos [ edit ] Basándose únicamente en el esquema de reconocimiento acumulada empleado por el protocolo original TCP puede conducir a ineficiencias cuando se pierden paquetes. el emisor puede entonces volver a enviar los 10. Así. supongamos que 10. los bytes 0 a 999. en cuyo caso se deriva de la unidad de transmisión máxima (MTU) de la capa de enlace de datos de las redes a las que el remitente y el receptor están conectados directamente. Además. el receptor enviará saco con números de secuencia 1000 y 9999.En el ejemplo anterior. pero no recibió el primer paquete. El reconocimiento puede especificar un número de bloques SACK . De hecho. el receptor no puede decir que ha recibido bytes 1000 a 9999 con éxito. se permiten dos valores totalmente independientes de SMS para las dos direcciones de flujo de datos en una conexión TCP. a su vez. En un protocolo de reconocimiento acumulada puro. Una entrega de paquetes fuera de orden puede a menudo erróneamente indicar el TCP remitente del paquete perdido y.000 bytes. Para resolver este problema TCP emplea el reconocimiento selectivo (SACK) opción. el SMS no se "negocia" entre el iniciador y el receptor.. el SMS debe ser lo suficientemente pequeño como para evitar la fragmentación de IP . El remitente retransmite por lo tanto sólo el primer paquete. en bytes. Para tratar de lograr esto. que contiene bytes 0 a 999. porque eso implicaría que tanto emisor y el receptor va a negociar y acordar un único SMS unificado que se aplica a todas las comunicaciones en ambos sentidos de la conexión. el emisor TCP retransmite el paquete sospechoso-a-ser-perdidas y . Por ejemplo. por ejemplo. los remitentes TCP pueden utilizar Path MTU Discovery para inferir la MTU mínima a lo largo de la ruta de red entre el emisor y el receptor. si uno de los dispositivos que participan en una conexión tiene una cantidad extremadamente limitada de memoria reservada (tal vez incluso más pequeño que la MTU de la ruta descubierta en total) para el procesamiento de segmentos TCP entrantes. se define en el RFC 2018 . se define en el RFC 2883 . y el primer paquete se pierde durante la transmisión.Tamaño máximo del segmento [ edit ] El tamaño máximo de segmento (MSS) es la mayor cantidad de datos. que puede conducir a la pérdida de paquetes y retransmisiones excesivos. [ 16 ] Esta situación puede surgir. lo que permite que el receptor reconozca bloques discontinuos de paquetes que se recibieron correctamente. que TCP está dispuesto a recibir en un solo segmento. además del número de secuencia del último byte contigua recibido sucesivamente. como en la confirmación TCP básica. MSS anuncio también se conoce como "MSS negociación".

Recepción selectiva también se utiliza en corriente Protocolo de Control de Transmisión (SCTP). La ampliación a mayor tamaño de la ventana es una parte de lo que es necesario para la optimización TCP .todas las pilas TCP populares apoyan. Desde el campo de tamaño no puede ser expandido. [ 17 ] Marcas de tiempo TCP [ edit ] Marcas de tiempo TCP. puede ayudar a determinar TCP en el que se envían los paquetes pedidos. El valor de escala de ventana se puede ajustar entre 0 (sin cambio) a 14 para cada dirección de forma independiente. es una opción que se utiliza para aumentar el tamaño máximo de ventana de 65. El problema es visible en algunos sitios de envío y recepción detrás de la trayectoria de los routers defectuosos.535 bytes a 1 gigabyte. tal como se define en el RFC 1323 . Muchos sistemas operativos se incrementará la marca de tiempo para cada milésima de segundo transcurrido. Ventana de escala [ edit ] Artículo principal: opción de escala de ventana TCP Para un uso más eficiente de las redes de gran ancho de banda.retrasar la entrega de datos para evitar la congestión de la red. al recibir una D-SACK que indica el paquete retransmitido es duplicado. SACK utiliza la parte opcional de la cabecera TCP ( ver estructura de segmentos TCP para más detalles ). que se define en RFC 1323 . Esto hace que el envío y la recepción de las partes a asumir diferentes tamaños de ventana TCP. La opción de escala de ventana TCP . El campo de tamaño de la ventana TCP controla el flujo de datos y su valor se limita a entre 2 y 65535 bytes. se puede usar un mayor tamaño de la ventana TCP. Marcas de tiempo TCP normalmente no se alinean con el reloj del sistema y empezar en algún valor aleatorio. es una recuperación del ritmo original de la transmisión de datos. Algunos routers y firewalls de paquetes reescribir el factor de escala de ventana durante una transmisión. El valor de escala de ventana representa el número de bits de desplazamiento a la izquierda del campo de tamaño de ventana de 16 bits. el RFC sólo establece que las garrapatas deben ser proporcionales. se utiliza un factor de escala. Hay dos campos de fecha y hora: . El uso de SACK es generalizada . El resultado es el tráfico no estable que puede ser muy lenta. La opción de escala de ventana se utiliza sólo durante el 3-way handshake TCP. Ambos lados deben enviar la opción en sus segmentos SYN para permitir el escalado de ventanas en cualquier dirección. Esto se negocia cuando se establece la conexión. La opción SACK no es obligatoria y sólo se utiliza si ambas partes apoyan. El remitente TCP deshace la acción de desaceleración. sin embargo.

el usuario puede enviar una secuencia de teclas que interrumpe o cancela el programa en el otro extremo. [ cita requerida ] Además. ya que es uno de los elementos de protocolo utilizadas menos comúnmente y tiende a ser mal aplicado. En el caso de que un paquete era potencialmente retransmitidas responde a la pregunta: "¿Es este el número de secuencia en los primeros 4 GB o el segundo?" Y la marca de tiempo se utiliza para romper el empate. TCP informa a la aplicación y vuelve de nuevo a la cola de corriente.536 menos de los 2 32 posibles números de secuencia y por lo tanto un valor aceptable aún excesivo. pero el límite de número de secuencia es de 4 GB). PAWS se utiliza cuando el tamaño de la ventana TCP supera los números posibles de números de secuencia 2 ( 32 ). Un ejemplo es cuando TCP se utiliza para una sesión remota. hay dos interpretaciones ligeramente diferentes del protocolo. el algoritmo de detección de Eifel ( RFC 3522 ) utiliza marcas de tiempo TCP para determinar si las retransmisiones están ocurriendo porque los paquetes se pierden o simplemente fuera de orden. lo que significa sólo bytes individuales de datos OOB son fiables.535 sería 65. pero una escala de 16 y un tamaño de ventana de 65.un valor de marca de tiempo del remitente de 4 bytes (mi marca de tiempo) un valor de marca de tiempo de respuesta de eco de 4 bytes (la más reciente marca de tiempo recibida de usted). Esto se realiza mediante la especificación de los datos como urgente . Fuera de datos de banda [ editar ] Uno de ellos es capaz de interrumpir o cancelar el flujo en cola en lugar de esperar a que la corriente hasta el final. Cuando se llega a la máquina remota. Las señales deben ser enviados sin esperar a que el programa termine su transferencia actual. [ 18 ] [ 19 ] Obligar a la entrega de datos [ edit ] . [2] Datos TCP OOB no está diseñado para la Internet moderna.Debido a este error muchos sistemas que reducen el alcance máximo a 2 14 a "seguir el RFC". junto con el resto de los datos urgentes. Estas señales son a menudo necesarias cuando un programa en el equipo remoto no funciona correctamente. Esto es suponiendo que es fiable en absoluto.3 que la escala de la ventana debe ser limitado a 2 30 a permanecer menos de 1 GB (lo cual es correcto. Cuando haya terminado. Esto le dice al programa receptor para procesar de inmediato. La urgente puntero sólo altera el procesamiento en el host remoto y no acelera cualquier proceso en la propia red. Marcas de tiempo TCP se utilizan en un algoritmo conocido como Protección contra secuencia ajustados números o PAWS (véase el RFC 1323 para más detalles). RFC 1323 indica incorrectamente en la sección 2.

[ 2 ] No hay forma de indicar o controlar que en el espacio de usuario usando sockets de Berkeley y es controlado por pila Protocolo solamente. Este retraso podría llegar a ser muy molesto. Esto se conoce como una inundación SYN ataque. por lo que 2 paquetes salen en una Mbit / s Ethernet 10 tomando ~ 1. [ 23 ] Sockstress es un ataque similar. aunque los cookies vienen con su propio conjunto de vulnerabilidades. [ 25 ] Conexión secuestro [ edit ] Artículo principal: ataque predicción de secuencia TCP Un atacante que es capaz de interceptar una sesión TCP y redirigir los paquetes puede secuestrar una conexión TCP. En el caso de telnet. Para ello. seguido de muchos paquetes ACK. los atacantes pueden hacer que el servidor de consumir grandes cantidades de recursos de mantenimiento de la pista de las conexiones fraudulentas.Normalmente.Cuando . Propuestas de solución a este problema sonlos cookies y puzzles criptográficos. TCP espera 200 ms o para un paquete completo de datos a enviar (= Algoritmo de Nagle intenta agrupar mensajes pequeños en un solo paquete). fueron publicados en 2009. que puede ser mitigado con la gestión de los recursos del sistema. [ 21 ] y en la actualidad se persiguen dentro de la IETF . junto con las posibles medidas de mitigación para los problemas identificados. Tal una simple secuestro puede resultar en un paquete que se está aceptado erróneamente en un extremo. Los programas de aplicación utilizan esta opción de socket para forzar la salida para ser enviado después de escribir un carácter o una línea de caracteres. Esto crea retrasos menores. el atacante aprende el número de secuencia de la comunicación continua y forja un segmento falso que se parece al siguiente segmento de la ruta.2 ms cada una seguida por una tercera que lleva el resto de 1176 después de una pausa de 197 ms como TCP es la espera de una memoria intermedia completa. pero potencialmente grave si se repite constantemente durante una transferencia de archivos. El RFC define el PSH poco empuje como "un mensaje a la pila TCP receptor para enviar esta información inmediatamente a la aplicación receptora". [ 22 ] Denegación de servicio [ edit ] Mediante el uso de una IP falsa dirección y el envío repetido a propósito reunidos paquetes SYN. [ 24 ] Un ataque DoS avanzada que hace explotación del TCP Persistir Timer se analizó en Phrack # 66. un MSS típico es 1460. Ajuste del socket opción TCP_NODELAY reemplaza el valor predeterminado de 200 ms de retardo de envío. un bloque de envío típico sería de 4 KB. [ 20 ] Vulnerabilidades [ edit ] TCP puede ser atacado en una variedad de maneras. Por ejemplo. Los resultados de una evaluación de seguridad completa de TCP. cada golpe de teclado del usuario se refleja de nuevo en el servidor antes de que el usuario pueda ver en la pantalla.

es decir. la conexión no es desincronizada y la comunicación continúa de forma normal después de la aceptación de la carga maliciosa. [ 26 ] Hacerse pasar por una dirección IP diferente. Veto TCP [ edit ] Un atacante que puede espiar y predecir el tamaño del siguiente paquete a enviar puede hacer que el receptor para aceptar una carga maliciosa sin interrumpir la conexión existente. Esta es la razón por el número de secuencia inicial ahora es elegida al azar. y puerto de destino. no era difícil antes de la RFC 1948 . con el fin de obtener el control permanente de la conexión TCP secuestrado. . pero hace que el ataque particularmente resistente a la detección. Cuando se recibe en última instancia el paquete legítimo. puerto de origen. de un comportamiento normal en una red IP. El atacante inyecta un paquete malicioso con el número de secuencia y un tamaño de carga útil del siguiente paquete esperado. Cada lado de la conexión TCP tiene un número de puerto de 16 bits sin signo asociado (0-65535) reservada por el envío o la recepción de solicitud. Secuestro podría ser combinado con ARP o ataques de enrutamiento que permiten tomar el control del flujo de paquetes. Esto significa que un ordenador servidor puede proporcionar varios clientes con varios servicios al mismo tiempo. la combinación de la dirección de origen de host. Se evita el gran aumento en el tráfico de red de la tormenta ACK.el host receptor reconoce el segmento extra para el otro lado de la conexión. que se encuentra que tiene el mismo número de secuencia y longitud como un paquete ya recibido y se deja caer en silencio como un duplicado de paquetes normal-el paquete legítimo se "vetado" por el paquete malicioso. [ 27 ] Puertos TCP [ edit ] Artículo principal: puerto TCP y UDP TCP utiliza números de puerto para identificar el envío y recepción de solicitud puntos finales en un host o sockets de Internet . Eso permitió que un atacante enviara a ciegas una secuencia de paquetes que el receptor podría creer que venir de una dirección IP diferente. dirección de host de destino. siempre y cuando un cliente se encarga de la iniciación de cualesquiera conexiones simultáneas a un puerto de destino de diferentes puertos de origen. El remitente del paquete vetado nunca ve ninguna evidencia de un ataque. Veto TCP da el atacante menos control sobre la comunicación. Al llegar los paquetes de datos TCP se identifican como pertenecientes a una conexión TCP específico por sus tomas de corriente. La única prueba para el receptor que algo anda mal es un solo paquete duplicado. se pierde la sincronización. sin la necesidad de desplegar ataques ARP y de enrutamiento: es suficiente para asegurar que el anfitrión legítimo de la dirección IP es suplantado por o llevarlo a ese estado usando ataques de denegación de servicio. A diferencia de en el secuestro de conexiones. cuando el primer número de secuencia era fácil de adivinar.

una de las RFCs relacionadas con el PCT más importantes de los últimos años. se describen los algoritmos actualizados que eviten la congestión excesiva. Múltiples rutas TCP también trae beneficios en el rendimiento en entornos de centros de datos. registrados y dinámicos / privados. En 2001. Sin embargo. incluyendo el control de la congestión de la aplicación asistida. Requisitos de host de Internet Los anfitriones. RFC 2581 . RFC 1122 . SSH (22). TCP Interactiva (PICT) [ 28 ] es un esfuerzo de investigación sobre extensiones TCP que permite que las aplicaciones se suscriban a eventos TCP y registro de los componentes de controlador que puede lanzar aplicaciones para diversos fines. y la especificación v4 RFC 793 . pero también pueden identificar los servicios mencionados que han sido registrados por un tercero. publicado en septiembre de 1981. Los puertos dinámicos / privados también pueden ser utilizados por las aplicaciones de usuario final. Desarrollo [ editar ] TCP es un protocolo complejo. TELNET (23). su funcionamiento más básico no ha cambiado significativamente desde su primera especificación RFC 675 en 1974. [ 34 ] [ 35 ] . Los puertos bien conocidos son asignados por la Internet Assigned Numbers Authority (IANA) y suelen ser utilizados por los procesos fundamentales del sistema-nivel o. Algunos ejemplos incluyen: FTP (20 y 21). pero son menos comunes que sí. TCP Nueva Reno . SMTP (25). Puertos registrados suelen ser utilizados por las aplicaciones de usuario final como efímeras puertos de origen cuando se comunique con los servidores. El original algoritmo de evitación de congestión del TCP se conoce como "TCP Tahoe". TCP control de la congestión. un mecanismo de señalización de evitación de la congestión.Los números de puerto se clasifican en tres categorías básicas: bien conocidos. [ 32 ] La implementación de referencia [ 33 ]de múltiples rutas TCP se está desarrollando en el núcleo Linux. y por lo tanto aumenta el rendimiento de TCP de forma espectacular. RÁPIDO TCP . mientras que las mejoras significativas se han hecho y se propone a través de los años. TCP Vegas . RFC 3168 fue escrito para describir notificación explícita de congestión ( ECN ). Los puertos dinámicos / privados no contienen ningún significado fuera de cualquier conexión TCP en particular. aclaró una serie de requisitos de implementación del protocolo TCP. y TCP Hybla ). Aplicaciones conocidas que ejecutan como servidores y escuchar pasivamente conexiones suelen utilizar estos puertos. Múltiples rutas TCP (MPTCP) [ 29 ] [ 30 ] es un esfuerzo en curso dentro de la IETF que tiene por objeto permitir una conexión TCP a utilizar varias rutas para maximizar el uso de los recursos y aumentar la redundancia. SSL (443) y HTTP (80). pero desde entonces se han propuesto muchos algoritmos alternativos (incluyendo Reno TCP . La redundancia que ofrece múltiples rutas TCP en el contexto de las redes inalámbricas [ 31 ] permite la multiplexación estadística de los recursos.

debido a la decoloración. Esto hace que el enlace de radio que se subutilizada. ampliamente conocidos como motores de descarga . A diferencia de las cookies SYN. TCP abierto rápido es una extensión para acelerar la apertura de conexiones sucesivas TCP entre dos puntos finales. puede haber una fase de evitar la congestión con una disminución en el tamaño de la ventana conservadora. mano fuera. o soluciones basadas en proxy (que requieren algunos cambios en la red sin modificar los nodos finales). y otros efectos de radio. Su acción consiste en saltarse el protocolo de enlace de tres vías con una "cookie" criptográfico. sombras.Transacciones cookies TCP (TPORAC) es una extensión propuesta en diciembre de 2009 para proteger los servidores de los ataques de denegación de servicio. Después de la (errónea) de back-off del tamaño de ventana de congestión. TPORAC no entra en conflicto con otras extensiones TCP como el escalado de ventanas . es un borrador de Internet IETF. Westwood . debido a la pérdida de paquetes inalámbrica. A diferencia de TLS (SSL). que no pueden ser considerados congestión. tcpcrypt es una extensión propuesta en julio de 2010 para proporcionar el cifrado de nivel de transporte directamente en sí TCP. el propio tcpcrypt no proporciona autenticación. veno y Santa Cruz. [ 38 ] las soluciones de capa de enlace (tales como RLP en redes de telefonía móvil). Cualquier pérdida de paquetes se considera que es el resultado de la congestión de la red y el tamaño de la ventana de congestión se reduce drásticamente como medida de precaución. donde los servidores tienen que manejar un gran número de conexiones TCP de corta duración. los enlaces inalámbricos son conocidos por experimentar pérdidas esporádicas y generalmente temporal. Implementaciones de hardware [ edit ] Una forma de superar los requerimientos de potencia de procesamiento de TCP es para construir implementaciones de hardware de la misma. Está diseñado para trabajar de forma transparente y no requiere ninguna configuración. que no fue ampliamente adoptada por cuestiones de seguridad. pero proporciona primitivas sencillas a la aplicación para hacerlo. Es similar a una propuesta anterior llamada T / TCP . [ 38 ] [ 39 ] Se han propuesto un número de algoritmos de control de congestión alternativos para ayudar a resolver el problema inalámbrica. A partir de 2010 . [ 37 ] TCP a través de redes inalámbricas [ edit ] TCP ha sido optimizado para las redes de cable. Soluciones recomendadas pueden ser categorizados como soluciones de extremo a extremo (que requieren modificaciones en el cliente o servidor). la primera tcpcrypt IETF proyecto ha sido publicado y existen implementaciones para varias plataformas principales. [ 36 ] A partir de julio 2012 . TPORAC fue diseñado debido a las necesidades de DNSSEC . Una amplia investigación se ha hecho sobre el tema de cómo combatir estos efectos nocivos. tales como Vegas . Sin embargo.

y todavía no ha visto el despliegue generalizado. los estados y los eventos en ese socket. que intercepta el tráfico TCP en un enlace de red. juegos multijugador en tiempo real y de voz sobre IP (VoIP). Esto causa problemas para las aplicaciones en tiempo real tales como streaming de medios . que es de gran ayuda en la depuración. Uno de los problemas (por lo menos con las implementaciones normales) es que la aplicación no puede tener acceso a los paquetes que llegan después de un paquete perdido hasta que se reciba la copia retransmitida del paquete perdido. Una de las empresas para desarrollar dicho dispositivo era Alacritech . para los sistemas integrados . las pilas de red y aplicaciones que utilizan TCP al mostrar al usuario qué paquetes están pasando a través de un enlace. algunos trucos tales como la transmisión de datos entre dos anfitriones que son tanto detrás de NAT (utilizando STUN sistemas o similar) son mucho más simples y sin un protocolo relativamente compleja como TCP en el camino. Alternativas [ edit ] Para muchas aplicaciones TCP no es apropiado. . Sin embargo. Esto proporciona la aplicación de multiplexación y sumas de comprobación que TCP no. Es nuevo y mucho más complejo de lo que TCP. son importantes. Corriente del Protocolo de Control de Transmisión (SCTP) es otro protocolo IP que ofrece servicios orientados a flujo confiable similares a TCP. puede ser útil en la depuración de las redes.TCP (TOE). está especialmente diseñado para ser utilizado en situaciones en las consideraciones de fiabilidad y casi en tiempo real. que requiere grandes cambios en el sistema operativo del equipo o dispositivo. dando el desarrollador de aplicaciones la capacidad de codificar de una manera adecuada para la situación. DNS servidores) la complejidad de TCP puede ser un problema. el Protocolo de datagramas de usuario se utiliza (UDP). que puede ser activado en el socket usando setsockopt. pero no maneja corrientes o retransmisión. cuando TCP no es adecuado. El principal problema de los dedos es que son difíciles de integrar en los sistemas de computación. el arranque de red y los servidores que atienden peticiones simples de un gran número de clientes (por ejemplo. En general. Netstat es otra utilidad que se puede utilizar para la depuración. Por último. Esa opción vuelca todos los paquetes TCP. o para sustituirlos por otros métodos como lacorrección de errores hacia adelante o interpolación . Además. Por razones tanto históricas como el rendimiento. Depuración [ edit ] Un analizador de paquetes . la mayoría de las redes de área de almacenamiento (SAN) prefieren utilizar Fibre Channel Protocol ( FCP ) en lugar de TCP / IP. donde por lo general es más útil para conseguir la mayor parte de los datos en el momento oportuno de lo que es para obtener todos los datos en orden. Algunas pilas de redes soportan la opción de socket SO_DEBUG.

tales como el modo de transferencia asíncrono (ATM) puede evitar retransmisiones de TCP por encima. El campo de longitud de TCP es la longitud de la cabecera y los datos (medido en octetos) de TCP. Lista de números de protocolo IP ). el método utilizado para calcular la suma de comprobación se define en RFC 793 : La comprobación sobre el terreno es el complemento a 16 bits de uno de los de una suma de los complementos de todas las palabras de 16 bits en el encabezado y el texto. Protocolo de Transacción multipropósito (MTP / IP) es un software patentado patentado que está diseñado para lograr un alto rendimiento de forma adaptativa y rendimiento de las transacciones en una amplia variedad de condiciones de la red. Si un segmento contiene un número impar de octetos de cabecera y el texto que la suma de comprobación. un protocolo basado en el tiempo.Protocolo de transporte Venturi (VTP) es un sistema patentado de protocolo propietario que está diseñado para reemplazar TCP de forma transparente para superar las ineficiencias percibidas relacionadas con el transporte de datos sin hilos. La direcciones de origen y de destino son los de la cabecera IPv4. La almohadilla no se transmite como parte del segmento. el propio campo de suma de comprobación se sustituye con ceros. Un pseudo-cabecera que imita la cabecera del paquete IPv4 se utiliza en el cálculo de suma de comprobación se muestra en la tabla a continuación. pero si el ambiente es predecible. TCP también tiene problemas en entornos de gran ancho de banda. después de relleno adecuado. se añaden todas las palabras de 16 bits usando una aritmética de complemento . El valor de protocolo es 6 para TCP (cf. en particular aquellos en TCP se percibe a ser ineficiente. El algoritmo de prevención de congestión TCP funciona muy bien para entornos ad-hoc donde el remitente de los datos no se conoce de antemano. Checksum computación [ edit ] TCP checksum para IPv4 [ edit ] Cuando el TCP se ejecuta sobre IPv4 . Si bien el cálculo de la suma de comprobación. La suma es entonces bit a bit complementa y se inserta como la comprobación sobre el terreno. el último octeto se rellena por la derecha con ceros para formar una palabra de 16 bits para los propósitos de suma de comprobación. En otras palabras. .

se incrementa el rendimiento global de la red. se utiliza la dirección de destino en la cabecera IPv6.el destino final.el valor de protocolo de TCP Descarga de checksum [ editar ] Muchas implementaciones de la pila de software TCP / IP ofrecen opciones para utilizar la asistencia de hardware para calcular automáticamente la suma de verificación en el adaptador de redantes de la transmisión en la red o en el momento de recepción de la red para su validación.   Dirección de origen . de lo contrario. para incluir los IPv6 de 128 bits.la longitud de la cabecera y los datos TCP Siguiente cabecera . TCP utiliza la dirección de destino en la cabecera IPv6. Esto puede aliviar el sistema operativo de utilizar preciosos ciclos de CPU cálculo de la suma de comprobación. se utiliza la dirección en el último elemento de la cabecera de enrutamiento. . Un pseudo-cabecera que imita la cabecera IPv6 para el cálculo de la suma de comprobación se muestra a continuación. y . Esta característica puede causar analizadores de paquetes detectar el tráfico de red saliente arriba del adaptador de red que no son conscientes o dudas sobre el uso de descarga de checksum de reportar la suma de comprobación no válida en los paquetes salientes.TCP checksum para IPv6 [ edit ] Cuando el TCP se ejecuta sobre IPv6 .   La longitud de TCP . el método utilizado para calcular la suma de comprobación se cambia. en el nodo de origen. en lugar de las direcciones IPv4 de 32 bits. como por RFC 2460 : Cualquier transporte u otro protocolo de capa superior que incluye las direcciones de la cabecera IP en su cálculo de suma de comprobación deben ser modificados para su uso a través de IPv6. Por lo tanto. si el paquete IPv6 no contiene una cabecera de enrutamiento. en el nodo receptor.el uno en la cabecera IPv6 Dirección de destino .

Véase también [ editar ] Portal de redes de computadoras Portal de Ciencia de la Computación Portal Computing                          Protocolo orientado a la conexión T / TCP variante de TCP TCP y UDP Números de puerto TCP y UDP para una larga lista de puertos / servicios Algoritmos de evitación de la congestión TCP El algoritmo de Nagle El algoritmo de Karn Unidad de transmisión máxima Fragmentación de IP Tamaño máximo del segmento Vigencia máxima del segmento Micro-estallido (networking) Síndrome de ventana tonta Segmento TCP TCP Predicción de secuencia de ataque SYN SYN cookies Estimulación TCP Tuning TCP para redes de alto rendimiento Path MTU discovery Corriente del Protocolo de Control de Transmisión (SCTP) Protocolo de Transacción multipropósito (MTP / IP) Transporte tabla comparativa protocolo Sockstress Sincronización global TCP .