Professional Documents
Culture Documents
Estndar internacional
Internet Engineering Task Force 12 1974 LAN , WAN , Internet Los telfonos mviles ,ordenadores personales ,ordenadores porttiles
El Protocolo de Control de Transmisin ( TCP ) es uno de los principales protocolos de la suite de protocolo de Internet (IP), y es tan comn 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 electrnico y la transferencia de archivos de un lugar a otro. Las aplicaciones que no requieren la fiabilidad de una conexin TCP pueden utilizar en su lugar la conexin Protocolo de datagramas de usuario(UDP), que hace hincapi en la operacin de baja sobrecarga y la reduccin de la latencia en lugar de la comprobacin de errores y la validacin de entrega.
DHCP
DHCPv6
DNS
FTP
HTTP
IMAP IRC
LDAP
MGCP
NNTP
BGP
NTP
POP RPC
RTP
RTSP
RIP
SIP
SMTP
SNMP SOCKS
SSH
Telnet
TLS / SSL
XMPP
TCP
UDP
DCCP
SCTP
RSVP de
IP IPv4
IPv6
ICMP
ICMPv6
ECN
IGMP IPsec
ARP / InARP
NDP
OSPF
Tneles L2TP
PPP
Ethernet DSL
ISDN
FDDI
Ms informacin ...
Contenido
[ ocultar ]
o o o o
4.1 Establecimiento de la conexin 4.2 de terminacin Conexin 4.3 La utilizacin de recursos 4.4 Transferencia de datos
o o o o o o
4.5 Tamao mximo de segmento 4,6 reconocimientos selectivos 4.7 Ventana de escala 4.8 marcas de tiempo TCP 4.9 datos fuera de banda 4.10 Forzar la entrega de datos
5 Vulnerabilidades
o o o
6 puertos TCP 7 Desarrollo 8 TCP sobre redes inalmbricas 9 implementaciones de hardware 10 Depuracin 11 Alternativas 12 Checksum cmputo
o o o
12.1 TCP checksum para IPv4 12.2 TCP checksum para IPv6 12.3 Checksum descargar
o o
fue elPrograma de control de transmisin que incorpora dos enlaces orientados a la conexin y de datagramas entre hosts servicios. El Programa de Control de Transmisin monoltica ms tarde se dividi en una arquitectura modular que consiste en el Protocolo de control de transmisin en la capa orientada a la conexin y el Protocolo de Internet en la capa de interconexin (datagrama).El modelo fue conocido informalmente como TCP / IP , aunque formalmente se llama a partir de ahora el conjunto de protocolos de Internet .
se utiliza para garantizar la fiabilidad de transferencias de paquetes. Esta tcnica fundamental requiere que el receptor responde con un mensaje de acuse de recibo, ya que recibe los datos. El emisor mantiene un registro de cada paquete que enva. El remitente tambin mantiene un temporizador desde que se envi el paquete, y retransmite un paquete si el temporizador expira antes de que el mensaje ha sido reconocido. Se necesita el contador de tiempo en caso de que un paquete se pierde o se daa. [ 2 ] Mientras IP encarga de la entrega real de los datos, TCP realiza un seguimiento de las unidades individuales de transmisin de datos, llamado segmentos , que un mensaje se divide en para el enrutamiento eficiente a travs de la red. Por ejemplo, cuando un archivo HTML se enva desde un servidor web, la capa de software de TCP de servidor que divide la secuencia de octetos del archivo en segmentos y las enva de forma individual a la capa de software de IP ( Capa de Internet ). La capa de Internet encapsula cada segmento TCP en un paquete IP mediante la adicin de una cabecera que incluye (entre otros datos) en el destino IP . Cuando el programa cliente en el equipo de destino que recibe, la capa TCP ( Transport Layer ) reensambla los segmentos individuales y asegura que estn bien ordenados y libres de errores, ya que les corrientes a una solicitud.
Un segmento TCP consiste en un segmento de cabecera y los datos de la seccin. La cabecera TCP contiene 10 campos obligatorios, y un campo de extensin opcional ( Opciones , fondo anaranjado en la tabla). La seccin de datos sigue al encabezado. Sus contenidos son los datos de carga transportadas para la aplicacin. La longitud de la seccin de datos no est especificada en el encabezado de segmento TCP. 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).
Puerto de origen (16 bits) Identifica el puerto de envo Puerto de destino (16 bits) Identifica el puerto receptor Nmero de secuencia (32 bits) Tiene una doble funcin:
Si el SYN se fija la bandera (1), entonces este es el nmero de secuencia inicial. El nmero de
secuencia del primer byte de datos real y el nmero reconocido en el correspondiente ACK son entonces este nmero de secuencia ms 1.
Si el SYN bandera es clara (0), entonces este es el nmero de secuencia acumulado del primer
byte de datos de este segmento de la sesin actual. Nmero de reconocimiento (32 bits) Si el ACK indicador se establece a continuacin, el valor de este campo es el siguiente nmero de secuencia que el receptor est esperando. Esto confirma la recepcin de todos los bytes anteriores (si los hay). La primera ACK enviado por cada extremo reconoce inicial en s nmero de secuencia del otro extremo, pero no hay datos. Compensacin de datos (4 bits) Epecifica el tamao de la cabecera TCP en palabras de 32 bits. El encabezado de tamao mnimo es de 5 palabras, y el mximo es de 15 palabras, dando as el tamao mnimo de 20 bytes y un mximo de 60 bytes, lo que permite un mximo de 40 bytes de opciones en la cabecera. Este campo toma su nombre del hecho de que tambin es el desplazamiento desde el inicio del segmento TCP a los datos reales. 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
CWR (1 bit) - Congestion Window Reduced (CWR) est establecido por el envo de acogida para
indicar que se ha recibido un segmento TCP con el ECE set bandera y haba respondido en el mecanismo de control de congestin (aadido a la cabecera por RFC 3168 ).
ECE (1 bit) - ECN-Echo indica Si el SYN se fija la bandera (1), que el par es TCP ECN capaz. Si el SYN bandera es clara (0), que se recibe un paquete con marca de congestin con
experiencia en conjunto encabezado IP durante la transmisin normal (aadido a la cabecera por RFC 3168 ).
URG (1 bit) - indica que el campo puntero urgente es significativa ACK (1 bit) - indica que el campo de reconocimiento es significativo. Todos los paquetes despus
de la inicial de SYN paquete enviado por el cliente deben tener esta bandera.
PSH (1 bit) - Funcin Push. Pide a insertar los datos almacenados en el bfer de la aplicacin
receptora.
RST (1 bit) - Restablecer la conexin SYN (1 bit) - Sincronizar nmeros de secuencia. Slo 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 slo son vlidas para cuando se establece, entre otros, cuando es evidente.
u Opcin-Data byte le sigue. Un byte Opcin-Kind of 0 es la opcin Fin Opciones de, y est a slo un byte. Un byte de Tipo de Opcin-0x02 indica que esta es la opcin tamao mximo del segmento, y ser seguido por un byte que especifica la longitud del campo de MSS (debe ser 0x04). Tenga en cuenta que esta longitud es la longitud total del campo de opciones dado, incluyendo la opcin-Kind and bytes Opcin de longitud. As, mientras que el valor MSS se expresa tpicamente en dos bytes, la longitud del campo ser de 4 bytes (2 bytes de tipo y longitud). En resumen, un campo de opcin MSS con un valor de 0x05B4 se mostrar como (0x02 0x04 0x05B4) en la seccin de opciones de TCP. Algunas opciones slo se pueden enviar al SYN se fija, sino que se indican a continuacin como [SYN] . Opcin Tipo y longitudes estndar dados como (Opcin-Kind, Opcin de longitud).
0 (8 bits) - Fin de la lista de opciones 1 (8 bits) - Ninguna operacin (NOP, Relleno) Esto puede ser utilizado para alinear los campos de opciones en los lmites de 32 bits para un mejor rendimiento.
2,4, SS (32 bits) - tamao de segmento mximo ( vase el tamao mximo de segmento ) [SYN]
3,3, S (24 bits) - Escala de ventana ( ver el ajuste de ventanas para los detalles ) [SYN]
[6]
4.2 (16 bits) - Reconocimiento Selectivo permitido. [SYN] ( Ver reconocimientos selectivos para ms detalles ) [ 7 ]
5, N, BBBB, EEEE, ... (bits variable, N es o bien 10, 18, 26, o 34) - confirmacin selectiva (SACK) [ 8 ] Estos dos primeros bytes son seguidos por una lista de 1-4 bloques ser reconocido selectivamente, especificado como 32 bits Begin / End punteros.
8,10, TTTT, EEEE (80 bits) - Marca de tiempo y el eco de la marca de tiempo anterior ( ver marcas de tiempo TCP para ms detalles ) [ 9 ] 14,3, S (24 bits) -. TCP Solicitud Checksum alternativo [SYN]
[ 10 ]
(Las opciones restantes son obsoletos, experimental, an 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 lmite de 32 bits. El relleno se compone de ceros. [ 11 ]
Operaciones de protocolo TCP se pueden dividir en tres fases. Las conexiones deben establecerse adecuadamente en un proceso de negociacin de varios pasos ( establecimiento de conexin ) antes de entrar en la transferencia de datos de fase. Despus de que se complete la transmisin de datos, la finalizacin de la conexin se cierra circuitos virtuales establecidos y libera todos los recursos asignados. Una conexin TCP est gestionado por un sistema operativo a travs de una interfaz de programacin que representa el punto final local para las comunicaciones, la toma de Internet . Durante la vida de una conexin TCP el punto final local, se somete a una serie de estados cambios: [ 12 ] ESCUCHAR (Servidor) representa la espera de una peticin de conexin de cualquier TCP remoto y el puerto. SYN-SENT (Cliente) representa la espera de una peticin de conexin a juego despus de haber enviado una solicitud de conexin. SYN-RECEIVED (Servidor) representa la espera de una conexin de solicitud de acuse de recibo que confirma despus de tener ambos recibieron y enviaron una peticin de conexin. ESTABLECIDO (Tanto en el servidor y el cliente) representa una conexin abierta, los datos recibidos pueden ser entregadas al usuario. El estado normal para la fase de transferencia de datos de la conexin. FIN-WAIT-1 (Servidor y cliente) representa la espera de una solicitud de finalizacin de conexin del TCP remoto, o un acuse de recibo de la solicitud de finalizacin de conexin enviada previamente. FIN-WAIT-2
(Servidor y cliente) representa la espera de una solicitud de finalizacin de conexin del TCP remoto. CLOSE-WAIT (Servidor y cliente) representa la espera de una solicitud de finalizacin de conexin del usuario local. CIERRE (Servidor y cliente) representa la espera de una conexin de terminacin solicitud de reconocimiento del TCP remoto. LAST-ACK (Servidor y cliente) representa a la espera de un acuse de recibo de la solicitud de finalizacin de conexin enviada anteriormente al TCP remoto (que incluye un reconocimiento de su solicitud de finalizacin). 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 finalizacin. [De acuerdo con RFC 793una conexin puede permanecer en TIME-WAIT durante un mximo de cuatro minutos conocidos como MSL (duracin mxima del segmento).] CERRADO (Servidor y cliente) no representa el estado de conexin en absoluto.
reconoce. Los pasos 2 y 3 establecen el parmetro de conexin (nmero de secuencia) en la otra direccin y se reconoce. Con esto, se establece una comunicacin full-duplex.
La fase de finalizacin de conexin utiliza una de cuatro vas apretn de manos , con cada lado de la conexin de terminacin de forma independiente. Cuando un punto final quiere detener su medio de la conexin, transmite un paquete FIN, que reconoce el otro extremo con un ACK. Por lo tanto, un tpico desmontaje requiere un par de segmentos FIN y ACK desde cada extremo TCP. Despus de que se lleg a la conclusin tanto FIN / ACK intercambios, el lado que enva la primera aleta antes de recibir una espera a un tiempo de espera antes de que finalmente el cierre de la conexin, tiempo durante el cual el puerto local no est disponible para nuevas conexiones, lo que evita la confusin debido a paquetes retardados se entregan durante las conexiones posteriores. Una conexin puede ser "medio-abierto" , en cuyo caso uno de los lados ha terminado su extremo, pero el otro no tiene. La parte que ha terminado ya no puede enviar los datos al respecto, pero la otra parte puede. El lado de terminacin debe continuar la lectura de los datos hasta el otro lado termina tambin. Tambin es posible poner fin a la conexin de un apretn de manos de 3 vas, cuando el host A enva un FIN y respuestas B de acogida con un FIN y ACK (slo combina 2 pasos en uno) y el host A responde con un ACK. [ 13 ] Este es quizs el mtodo ms comn. Es posible que ambos hosts para enviar las FIN simultneamente, tanto slo hay que ACK. Esto podra ser considerado como un 2-way handshake ya que la secuencia / ACK FIN se hace en paralelo en ambos sentidos. Algunas pilas TCP husped pueden implementar una secuencia de cierre half-duplex, como Linux o HP-UX hacer. Si tal acogida cierra una conexin activa, pero an no ha ledo todos los datos de entrada de la pila ya recibi del enlace, este host enva un RST en lugar de un FIN (Seccin 4.2.2.13 en RFC 1122 ). Esto permite a una aplicacin TCP para asegurarse de que la aplicacin remota ha ledo todos los datos de la ex enviado de honor el FIN del lado opuesto,
cuando se cierra la conexin activa. Pero la pila TCP remoto no puede distinguir entre un Abortando RST conexin y RST prdida de datos . Tanto porque la pila a distancia para perder todos los datos recibidos. Algunos protocolos de aplicacin pueden violar las capas del modelo OSI , utilizando el TCP de apertura / cierre de enlace para el protocolo de aplicacin de apertura / cierre apretn de manos esto puede encontrar el problema RST de cierre activo. Como un ejemplo:
Para un flujo de programa habitual como la de arriba, una pila TCP / IP como el descrito anteriormente no garantiza que todos los datos que llegan a la otra aplicacin.
Libre de errores de transferencia de datos [ 14 ] Control de flujo - limita la velocidad de un remitente transfiere datos para garantizar la entrega
segura. El receptor insina continuamente el remitente en la cantidad de datos se pueden recibir (controlado por la ventana deslizante). Cuando el bfer del host receptor se llena, el siguiente acuse de recibo contiene un 0 en el tamao de la ventana, para detener la transferencia y permitir que los datos en la memoria intermedia a ser procesados. [ 2 ]
Control de congestin [ 2 ]
Para asegurar un correcto checksum campo se incluye ( ver estructura de segmentos TCP para obtener detalles sobre la suma de comprobacin ). La suma de comprobacin TCP es una comprobacin dbil para los estndares modernos. Datos Enlace capas con alta tasa de errores de bit pueden requerir capacidades de correccin / deteccin de errores de enlace adicionales.La suma de comprobacin dbil est parcialmente compensado por el uso comn de un CRC o mejor comprobacin de integridad en la capa 2 , por debajo de los protocolos TCP e IP, tal como se utiliza en PPP o la Ethernet marco. Sin embargo, esto no significa que el 16-bit de suma de comprobacin TCP es redundante: notablemente, la introduccin de errores en los paquetes entre lpulo CRCprotegido es comn, pero el extremo-a-extremo 16 bits suma de comprobacin TCP atrapa la mayora de estos errores simples. [ 15 ] Este es el principio de extremo a extremo en el trabajo.
Cuando un receptor anuncia un tamao de ventana de 0, el emisor se detiene el envo de datos y se inicia el temporizador de persistir . El temporizador de persistir se utiliza para proteger TCP desde un punto muerto situacin que podra surgir si una actualizacin del tamao de la ventana posterior del receptor se pierde, y el remitente no puede enviar ms datos hasta recibir una nueva actualizacin del tamao de la ventana del receptor. Cuando expira el temporizador de persistir, el emisor TCP intenta recuperacin mediante el envo de un pequeo paquete de manera que el receptor responde mediante el envo de otro acuse de recibo que contiene el nuevo tamao de la ventana. Si el receptor est procesando los datos entrantes en pequeos incrementos, puede anunciar repetidamente una ventana de recepcin pequea.Esto se conoce como el sndrome de ventana tonto , ya que es ineficiente para enviar slo unos pocos bytes de datos en un segmento TCP, dada la relativamente gran sobrecarga de la cabecera TCP.
ejemplo, si uno de los dispositivos que participan en una conexin tiene una cantidad extremadamente limitada de memoria reservada (tal vez incluso ms pequeo que la MTU de la ruta descubierta en total) para el procesamiento de segmentos TCP entrantes.
retrasar la entrega de datos para evitar la congestin de la red. El remitente TCP deshace la accin de desaceleracin, es una recuperacin del ritmo original de la transmisin de datos, al recibir una D-SACK que indica el paquete retransmitido es duplicado. La opcin SACK no es obligatoria y slo se utiliza si ambas partes apoyan. Esto se negocia cuando se establece la conexin. SACK utiliza la parte opcional de la cabecera TCP ( ver estructura de segmentos TCP para ms detalles ). El uso de SACK es generalizada - todas las pilas TCP populares apoyan. Recepcin selectiva tambin se utiliza en corriente Protocolo de Control de Transmisin (SCTP).
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 ms reciente marca de tiempo recibida de usted).
Marcas de tiempo TCP se utilizan en un algoritmo conocido como Proteccin contra secuencia ajustados nmeros o PAWS (vase el RFC 1323 para ms detalles). PAWS se utiliza cuando el tamao de la ventana TCP supera los nmeros posibles de nmeros de secuencia 2 ( 32 ). En el caso de que un paquete era potencialmente retransmitidas responde a la pregunta: "Es este el nmero de secuencia en los primeros 4 GB o el segundo?" Y la marca de tiempo se utiliza para romper el empate. RFC 1323 indica incorrectamente en la seccin 2.3 que la escala de la ventana debe ser limitado a 2 30 a permanecer menos de 1 GB (lo cual es correcto, pero el lmite de nmero de secuencia es de 4 GB), pero una escala de 16 y un tamao de ventana de 65.535 sera 65.536 menos de los 2 32 posibles nmeros de secuencia y por lo tanto un valor aceptable an excesivo.Debido a este error muchos sistemas que reducen el alcance mximo a 2
14
Adems, el algoritmo de deteccin de Eifel ( RFC 3522 ) utiliza marcas de tiempo TCP para determinar si las retransmisiones estn ocurriendo porque los paquetes se pierden o simplemente fuera de orden.
Datos TCP OOB no est diseado para la Internet moderna. La urgente puntero slo altera el procesamiento en el host remoto y no acelera cualquier proceso en la propia red. Cuando se llega a la mquina remota, hay dos interpretaciones ligeramente diferentes del protocolo, lo que significa slo bytes individuales de datos OOB son fiables. Esto es suponiendo que es fiable en absoluto, ya que es uno de los elementos de protocolo utilizadas menos comnmente y tiende a ser mal aplicado. [ 18 ] [ 19 ]
Normalmente, TCP espera 200 ms o para un paquete completo de datos a enviar (= Algoritmo de Nagle intenta agrupar mensajes pequeos en un solo paquete). Esto crea retrasos menores, pero potencialmente grave si se repite constantemente durante una transferencia de archivos. Por ejemplo, un bloque de envo tpico sera de 4 KB, un MSS tpico es 1460, por lo que 2 paquetes salen en una Mbit / s Ethernet 10 tomando ~ 1.2 ms cada una seguida por una tercera que lleva el resto de 1176 despus de una pausa de 197 ms como TCP es la espera de una memoria intermedia completa. En el caso de telnet, cada golpe de teclado del usuario se refleja de nuevo en el servidor antes de que el usuario pueda ver en la pantalla. Este retraso podra llegar a ser muy molesto. Ajuste del socket opcin TCP_NODELAY reemplaza el valor predeterminado de 200 ms de retardo de envo. Los programas de aplicacin utilizan esta opcin de socket para forzar la salida para ser enviado despus de escribir un carcter o una lnea de caracteres. El RFC define el PSH poco empuje como "un mensaje a la pila TCP receptor para enviar esta informacin inmediatamente a la aplicacin receptora". [ 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. [ 20 ]
Vulnerabilidades [ edit ]
TCP puede ser atacado en una variedad de maneras. Los resultados de una evaluacin de seguridad completa de TCP, junto con las posibles medidas de mitigacin para los problemas identificados, fueron publicados en 2009, [ 21 ] y en la actualidad se persiguen dentro de la IETF . [ 22 ]
el host receptor reconoce el segmento extra para el otro lado de la conexin, se pierde la sincronizacin. Secuestro podra ser combinado con ARP o ataques de enrutamiento que permiten tomar el control del flujo de paquetes, con el fin de obtener el control permanente de la conexin TCP secuestrado. [ 26 ] Hacerse pasar por una direccin IP diferente, no era difcil antes de la RFC 1948 , cuando el primer nmero de secuencia era fcil de adivinar. Eso permiti que un atacante enviara a ciegas una secuencia de paquetes que el receptor podra creer que venir de una direccin IP diferente, sin la necesidad de desplegar ataques ARP y de enrutamiento: es suficiente para asegurar que el anfitrin legtimo de la direccin IP es suplantado por o llevarlo a ese estado usando ataques de denegacin de servicio. Esta es la razn por el nmero de secuencia inicial ahora es elegida al azar.
Los nmeros de puerto se clasifican en tres categoras bsicas: bien conocidos, registrados y dinmicos / privados. 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. Aplicaciones conocidas que ejecutan como servidores y escuchar pasivamente conexiones suelen utilizar estos puertos. Algunos ejemplos incluyen: FTP (20 y 21), SSH (22), TELNET (23), SMTP (25), SSL (443) y HTTP (80). Puertos registrados suelen ser utilizados por las aplicaciones de usuario final como efmeras puertos de origen cuando se comunique con los servidores, pero tambin pueden identificar los servicios mencionados que han sido registrados por un tercero. Los puertos dinmicos / privados tambin pueden ser utilizados por las aplicaciones de usuario final, pero son menos comunes que s. Los puertos dinmicos / privados no contienen ningn significado fuera de cualquier conexin TCP en particular.
Desarrollo [ editar ]
TCP es un protocolo complejo. Sin embargo, mientras que las mejoras significativas se han hecho y se propone a travs de los aos, su funcionamiento ms bsico no ha cambiado significativamente desde su primera especificacin RFC 675 en 1974, y la especificacin v4 RFC 793 , publicado en septiembre de 1981. RFC 1122 , Requisitos de host de Internet Los anfitriones, aclar una serie de requisitos de implementacin del protocolo TCP. RFC 2581 , TCP control de la congestin, una de las RFCs relacionadas con el PCT ms importantes de los ltimos aos, se describen los algoritmos actualizados que eviten la congestin excesiva. En 2001, RFC 3168 fue escrito para describir notificacin explcita de congestin ( ECN ), un mecanismo de sealizacin de evitacin de la congestin. El original algoritmo de evitacin de congestin del TCP se conoce como "TCP Tahoe", pero desde entonces se han propuesto muchos algoritmos alternativos (incluyendo Reno TCP , TCP Vegas , RPIDO TCP , TCP Nueva Reno , y TCP Hybla ). TCP Interactiva (PICT) [ 28 ] es un esfuerzo de investigacin 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, incluyendo el control de la congestin de la aplicacin asistida. Mltiples rutas TCP (MPTCP) [ 29 ] [ 30 ] es un esfuerzo en curso dentro de la IETF que tiene por objeto permitir una conexin TCP a utilizar varias rutas para maximizar el uso de los recursos y aumentar la redundancia. La redundancia que ofrece mltiples rutas TCP en el contexto de las redes inalmbricas [ 31 ] permite la multiplexacin estadstica de los recursos, y por lo tanto aumenta el rendimiento de TCP de forma espectacular. Mltiples rutas TCP tambin trae beneficios en el rendimiento en entornos de centros de datos. [ 32 ] La implementacin de referencia [ 33 ]de mltiples rutas TCP se est desarrollando en el ncleo Linux. [ 34 ] [ 35 ]
Transacciones cookies TCP (TPORAC) es una extensin propuesta en diciembre de 2009 para proteger los servidores de los ataques de denegacin de servicio. A diferencia de las cookies SYN, TPORAC no entra en conflicto con otras extensiones TCP como el escalado de ventanas . TPORAC fue diseado debido a las necesidades de DNSSEC , donde los servidores tienen que manejar un gran nmero de conexiones TCP de corta duracin. tcpcrypt es una extensin propuesta en julio de 2010 para proporcionar el cifrado de nivel de transporte directamente en s TCP. Est diseado para trabajar de forma transparente y no requiere ninguna configuracin. A diferencia de TLS (SSL), el propio tcpcrypt no proporciona autenticacin, pero proporciona primitivas sencillas a la aplicacin para hacerlo. A partir de 2010 , la primera tcpcrypt IETF proyecto ha sido publicado y existen implementaciones para varias plataformas principales. TCP abierto rpido es una extensin para acelerar la apertura de conexiones sucesivas TCP entre dos puntos finales. Su accin consiste en saltarse el protocolo de enlace de tres vas con una "cookie" criptogrfico. Es similar a una propuesta anterior llamada T / TCP , que no fue ampliamente adoptada por cuestiones de seguridad. [ 36 ] A partir de julio 2012 , es un borrador de Internet IETF. [ 37 ]
TCP (TOE). El principal problema de los dedos es que son difciles de integrar en los sistemas de computacin, que requiere grandes cambios en el sistema operativo del equipo o dispositivo. Una de las empresas para desarrollar dicho dispositivo era Alacritech .
Depuracin [ edit ]
Un analizador de paquetes , que intercepta el trfico TCP en un enlace de red, puede ser til en la depuracin de las redes, las pilas de red y aplicaciones que utilizan TCP al mostrar al usuario qu paquetes estn pasando a travs de un enlace. Algunas pilas de redes soportan la opcin de socket SO_DEBUG, que puede ser activado en el socket usando setsockopt. Esa opcin vuelca todos los paquetes TCP, los estados y los eventos en ese socket, que es de gran ayuda en la depuracin. Netstat es otra utilidad que se puede utilizar para la depuracin.
Alternativas [ edit ]
Para muchas aplicaciones TCP no es apropiado. Uno de los problemas (por lo menos con las implementaciones normales) es que la aplicacin no puede tener acceso a los paquetes que llegan despus de un paquete perdido hasta que se reciba la copia retransmitida del paquete perdido. Esto causa problemas para las aplicaciones en tiempo real tales como streaming de medios , juegos multijugador en tiempo real y de voz sobre IP (VoIP), donde por lo general es ms til para conseguir la mayor parte de los datos en el momento oportuno de lo que es para obtener todos los datos en orden. Por razones tanto histricas como el rendimiento, la mayora de las redes de rea de almacenamiento (SAN) prefieren utilizar Fibre Channel Protocol ( FCP ) en lugar de TCP / IP. Adems, para los sistemas integrados , el arranque de red y los servidores que atienden peticiones simples de un gran nmero de clientes (por ejemplo, DNS servidores) la complejidad de TCP puede ser un problema. Por ltimo, algunos trucos tales como la transmisin de datos entre dos anfitriones que son tanto detrs de NAT (utilizando STUN sistemas o similar) son mucho ms simples y sin un protocolo relativamente compleja como TCP en el camino. En general, cuando TCP no es adecuado, el Protocolo de datagramas de usuario se utiliza (UDP). Esto proporciona la aplicacin de multiplexacin y sumas de comprobacin que TCP no, pero no maneja corrientes o retransmisin, dando el desarrollador de aplicaciones la capacidad de codificar de una manera adecuada para la situacin, o para sustituirlos por otros mtodos como lacorreccin de errores hacia adelante o interpolacin . Corriente del Protocolo de Control de Transmisin (SCTP) es otro protocolo IP que ofrece servicios orientados a flujo confiable similares a TCP. Es nuevo y mucho ms complejo de lo que TCP, y todava no ha visto el despliegue generalizado. Sin embargo, est especialmente diseado para ser utilizado en situaciones en las consideraciones de fiabilidad y casi en tiempo real, son importantes.
Protocolo de transporte Venturi (VTP) es un sistema patentado de protocolo propietario que est diseado para reemplazar TCP de forma transparente para superar las ineficiencias percibidas relacionadas con el transporte de datos sin hilos. TCP tambin tiene problemas en entornos de gran ancho de banda. El algoritmo de prevencin de congestin TCP funciona muy bien para entornos ad-hoc donde el remitente de los datos no se conoce de antemano, pero si el ambiente es predecible, un protocolo basado en el tiempo, tales como el modo de transferencia asncrono (ATM) puede evitar retransmisiones de TCP por encima. Protocolo de Transaccin multipropsito (MTP / IP) es un software patentado patentado que est diseado para lograr un alto rendimiento de forma adaptativa y rendimiento de las transacciones en una amplia variedad de condiciones de la red, en particular aquellos en TCP se percibe a ser ineficiente.
La direcciones de origen y de destino son los de la cabecera IPv4. El valor de protocolo es 6 para TCP (cf. Lista de nmeros de protocolo IP ). El campo de longitud de TCP es la longitud de la cabecera y los datos (medido en octetos) de TCP.
Direccin de origen - el uno en la cabecera IPv6 Direccin de destino - el destino final, si el paquete IPv6 no contiene una cabecera de enrutamiento, TCP utiliza la direccin de destino en la cabecera IPv6, de lo contrario, en el nodo de origen, se utiliza la direccin en el ltimo elemento de la cabecera de enrutamiento, y , en el nodo receptor, se utiliza la direccin de destino en la cabecera IPv6.
La longitud de TCP - la longitud de la cabecera y los datos TCP Siguiente cabecera - el valor de protocolo de TCP
Protocolo orientado a la conexin T / TCP variante de TCP TCP y UDP Nmeros de puerto TCP y UDP para una larga lista de puertos / servicios Algoritmos de evitacin de la congestin TCP El algoritmo de Nagle El algoritmo de Karn Unidad de transmisin mxima Fragmentacin de IP Tamao mximo del segmento Vigencia mxima del segmento Micro-estallido (networking) Sndrome de ventana tonta Segmento TCP TCP Prediccin de secuencia de ataque SYN SYN cookies Estimulacin TCP Tuning TCP para redes de alto rendimiento Path MTU discovery Corriente del Protocolo de Control de Transmisin (SCTP) Protocolo de Transaccin multipropsito (MTP / IP) Transporte tabla comparativa protocolo Sockstress Sincronizacin global TCP