¿Es cierto que TCP es la abreviatura de TCP / IP y significan lo mismo?
¿Es posible que TCP se construya sobre otro protocolo además de IP ?
¿Es cierto que TCP es la abreviatura de TCP / IP y significan lo mismo?
¿Es posible que TCP se construya sobre otro protocolo además de IP ?
Respuestas:
TCP e IP (v4 y v6) son definitivamente separables, y uno no implica el otro, como lo demuestra el ejemplo de TCP sobre IPX ( RFC 1791 ).
Sin embargo, TCP no se puede construir sobre cualquier protocolo de red. Dos razones:
La especificación TCP, RFC 793 , no es una buena fuente para decidir esta pregunta, porque admite que deja su interfaz con la capa inferior en gran parte sin especificar.
Nota a) Para que TCP reensamble datagramas impresos en pequeñas hojas de papel (ya sean transportadas por palomas o una red córvida más inteligente), el tamaño de la carga útil debería escribirse en una ubicación estándar. Alternativamente, una capa de adaptación podría determinar heurísticamente el tamaño del segmento. El escáner óptico utilizado en la implementación de la pila de host de la especificación de portadores de aves ( RFC 1149 ) incluía una capa de adaptación heurística de este tipo, pero permanece indocumentada.
No he leído todo el RFC, pero el lenguaje en la sección 1.4 parece sugerir que se puede usar cualquier protocolo de "nivel inferior".
La interfaz entre TCP y el protocolo de nivel inferior está esencialmente sin especificar, excepto que se supone que hay un mecanismo por el cual los dos niveles pueden pasar información de forma asincrónica entre sí. Por lo general, se espera que el protocolo de nivel inferior especifique esta interfaz. TCP está diseñado para funcionar en un entorno muy general de redes interconectadas. El protocolo de nivel inferior que se supone a lo largo de este documento es el Protocolo de Internet.
TCP no es la abreviatura de TCP / IP.
TCP / IP se usa a menudo como una forma abreviada de decir " The Internet Protocol Suite " y generalmente incluye otros protocolos estándar. Cuando las personas dicen TCP / IP, generalmente incluyen UDP sobre IP (en el que se usa UDP en lugar de TCP) y muchos otros protocolos como ARP, ICMP, DNS, SNMP y otros protocolos de capa de aplicación.
Las aplicaciones usan protocolos de capa de aplicación como SMTP (para correo electrónico). Estos se encuentran en uno de los dos protocolos de capa de transporte: TCP y UDP. Algunos protocolos de capa de aplicación utilizarán uno o ambos UDP y TCP, pero la mayoría se utilizan con un solo protocolo de capa de transporte.
TCP y UDP son dos protocolos de capa de transporte utilizados en Internet Protocol Suite. Si hay otros, no los conozco, y cualquier otro representaría un uso de especialistas muy pequeño. Se han definido otros protocolos de capa de transporte: su uso probablemente representa solo una pequeña proporción del tráfico IP global †
Si bien en teoría podría ser posible usar TCP sobre algo que no sea IP, en la práctica TCP siempre se usa sobre IP: el Protocolo de Internet. IP mueve paquetes entre redes (piense en IP como conectando múltiples LAN juntas)
Ethernet es solo la familia más popular de protocolos de capa de enlace de bajo nivel en los que se transporta TCP / IP, pero TCP / IP también se usa ampliamente en ATM y otros.
Los únicos protocolos de capa de transporte de uso significativo en redes que usan Internet Protocol Suite son TCP y UDP.
† Solo por diversión, medí el tráfico en mi (muy) pequeña LAN, que incluye NetBIOS (sobre TCP), SSH, Rsync, correo electrónico, actualizaciones de software, DNS, charlas generales de Windows-box y algunos otros tipos de tráfico.
Tenga en cuenta también esta declaración en las preguntas frecuentes de Google para su protocolo QUIC
¿Por qué no construiste un protocolo completamente nuevo, en lugar de usar UDP? Las casillas intermedias en Internet hoy en día generalmente bloquearán el tráfico a menos que sea tráfico TCP o UDP
(mi énfasis)
La razón por la cual TCP / IP es una abreviatura tan común (a diferencia de, por ejemplo, UDP / IP o SCTP / IP) es porque los dos protocolos fueron diseñados juntos, y en el documento original de Vint Cerf y Bob Kahn, los dos conceptos fueron combinados en un solo protocolo. Poco después se dividieron en IP para proporcionar enrutamiento y TCP para proporcionar control de flujo, multiplexación, detección de errores, etc. No fue sino hasta seis años después que UDP se introdujo para proporcionar una capa de multiplexación "ligera" sin el resto del gastos generales relacionados con TCP.
Aún así, TCP e IP son dos cosas separadas y completamente e intencionalmente independientes. El hecho de que TCP no requiere IP es evidente de inmediato con el hecho de que TCP puede ejecutarse sin modificaciones tanto en IPv4 como en IPv6, que son dos protocolos completamente diferentes.
Con un poco de trabajo, podría crear un protocolo de IP de la competencia que sirviera para los mismos propósitos, pero probablemente tendría que contener la mayoría, si no todas, las mismas características, y probablemente terminaría pareciéndose mucho a la IP de todos modos. Podría argumentar que las extensiones de IP (como IPSec) son protocolos de capa 3 alternativamente efectivos, así que ahí lo tiene.
Puede reemplazar la IP con otra cosa. De hecho, eso es exactamente lo que estás haciendo cuando usas TCP sobre IPv6. TCP sigue siendo TCP, pero la IP es v6 en lugar de v4.
AFAIK, nadie ha creado ningún otro protocolo de capa 3 para trabajar con TCP por encima de ellos, pero no hay razón para que no pueda hacerlo.
TCP e IP son como mantequilla sobre pan.
Puede emparejar cualquier otra cosa que funcione con cualquiera de los protocolos, pero estos dos son tan complementarios que es una forma deliciosa y confiable de transferir datos y llenar la barriga con datos de Internet. Engrasa el tubo para permitir que otros alimentos secos y el apretón de manos de datos por igual apoyen este emparejamiento. Pero de ninguna manera es exclusivo.
P Sin embargo, ¿no es posible que TCP se construya sobre otro protocolo además de IP?
Un sí es posible. Me gustan los ejemplos de TCP Morse Code y Pigeon sin IP.
Siempre he escuchado que TCP es la abreviatura de TCP / IP
En realidad significa Protocolo de Control de Transmisión sobre Protocolo de Internet
y significan lo mismo.
Eso no es correcto
Primero, Ethernet es el sistema de hardware de bajo nivel que controla cómo funcionan las partes de hardware reales.
Luego, piense en IP como un sistema telefónico o señales de tráfico. Proporciona el control básico del sistema de conexión de dos puntos juntos.
TCP, por otro lado, es más como un sistema de mensajería o un oficial de control de tráfico que dirige los mensajes / automóviles al punto correcto.
En conjunto, TCP / IP, proporciona un sistema de transferencia confiable de datos hacia y desde dos dispositivos conectados.
Con Internet, cuando desea enviar o recibir datos, la parte IP del sistema es la parte que controla la realización de las conexiones de hardware reales con los cables (u ondas inalámbricas). La parte TCP del sistema es el software que se encarga de tomar los datos y dividirlos, enviarlos, volver a ensamblar los datos recibidos y verificar los datos y volver a enviarlos si es necesario.
Hay innumerables explicaciones con analogías y detalles técnicos disponibles, especialmente en forma de video . DifferenceBetween.net tiene una particularmente buena sobre este tema exacto .
Sin embargo, ¿no es posible que TCP se construya sobre otro protocolo además de IP?
Sí, podría crear un sistema alternativo a TCP que use IP. Eche un vistazo a Internet Protocol Suite para obtener más detalles.
> the fact that !TCP can go over IP does not necessarily mean TCP can go over !IP Huh?
psusi está tratando de ser inteligente usando "!" como el "no operador". Su comentario debe leerse como: "el hecho de que algo que no es TCP pueda pasar por IP no necesariamente significa que TCP puede pasar por algo que no es IP". Se hace en referencia a la última oración de su respuesta, que mostró la existencia de "Sistemas alternativos a TCP". Sin embargo, mostrar que existen alternativas a TCP no implica necesariamente ni insinúa que existen alternativas a IP.
TCP es un protocolo de capa 4. Proporciona transporte garantizado de datos en forma de una secuencia ordenada de un proceso en una computadora a otro proceso en la misma / otra computadora.
IP es un protocolo de capa 3. Proporciona transporte de un host a otro.
Mientras haya un protocolo que pueda hacer la transferencia de datos de host a host, TCP funcionará.
Entonces, TCP se puede implementar sobre cualquier protocolo, pero, solo hemos hecho IP. IP es simple y hace el trabajo.
No hay necesidad de otro protocolo de capa 3.
Cuando diseña una red, debe elegir un conjunto de protocolos (que son básicamente conjuntos de reglas de comunicación entre máquinas), para cada una de las diferentes "capas" (que puede imaginar como diferentes niveles de abstracción, que a los diseñadores de redes les gusta tenga en cuenta al crear y combinar protocolos).
Versión más simple: los protocolos son como cuadros en los que ponemos nuestros mensajes . Esos cuadros tienen diferentes tamaños, y usted coloca su mensaje en el cuadro más pequeño, luego el cuadro más pequeño en un cuadro que es un poco más grande, etc. Elegir un conjunto de protocolos es elegir qué tipo de cuadros usará, para cada " capa "que rodea su mensaje.
TCP e IP son protocolos para dos capas independientes, que se crearon juntas y se pueden usar juntas; pero se puede usar muy bien con otros protocolos. Eso sucede con bastante frecuencia: puede usar IP junto con un protocolo no TCP o TCP junto con un protocolo no IP .
La razón por la cual TCP / IP es una abreviatura tan común es que esos dos protocolos formaron, juntos, la base de Internet y fueron clave para su éxito .
(TCP e IP tienen algunas funcionalidades que fueron diseñadas específicamente para que funcionen juntas, que es algo de lo que los puristas a menudo se quejan, pero en realidad no impiden que los interconecte con otros protocolos)
Creo que es posible ejecutar TCP sobre el transporte IPX, si quieres retroceder.
Sin embargo, ¿no es posible que TCP se construya sobre otro protocolo además de IP?
Además de los clásicos TCP / IPv4 y TCP / IPv6, se han diseñado algunos protocolos experimentales, por ejemplo:
Como parte de nuestros esfuerzos Net100 y Probe para mejorar las transferencias masivas a través de redes de alta velocidad y alta latencia, hemos desarrollado una versión instrumentada y sintonizable de TCP que se ejecuta sobre UDP. El transporte UDP de tipo TCP sirve como un arnés de prueba para experimentar con controles de tipo TCP a nivel de aplicación similar a TReno.
E iproxy: ejecutar servicios TCP sobre UDP , lo cual es más divertido:
iproxy consta de un proxy del lado del cliente y un proxy del lado del servidor que permite que los servicios TCP / IP arbitrarios se ejecuten en Broadcast, Multicast o Unicast UDP. Originalmente se concibió como un método para configurar servidores que no habían recibido una dirección IP en la LAN utilizando una interfaz basada en la web.
Así que ya ves: ¡TCP en UDP de unidifusión, e incluso TCP en UDP de difusión o multidifusión !
AFAIK solo TCP / IPv4 y TCP / IPv6 disfrutan de una gran implementación.
¡La respuesta es no! Por ejemplo, hay un RFC antiguo que describe TCP sobre IPX: http://tools.ietf.org/html/rfc1791
Para aquellos con poca memoria, IPX era el protocolo Novell Netware: http://en.wikipedia.org/wiki/Internetwork_Packet_Exchange
Ya existen implementaciones de TCP además de varios protocolos que admiten el transporte de un datagrama básico. De hecho, la necesidad ni siquiera es especificar la información de enrutamiento (TCP ni siquiera necesita IP para trabajar, solo un enlace serila con un destinatario implícito sería suficiente).
Entonces, tiene TCP implementado en la parte superior de UDP (ventaja: utiliza un solo puerto en el lado del "servidor", o puede incrustarlo en una conexión existente que transporta varios canales multiplexados). Solo el nivel de IP proporciona el enrutamiento, pero TCP no lo necesita. Lo único que importa es que el concepto de MTU lo proporciona la capa inferior.
Esto permite que el protocolo omita las limitaciones del recorrido NAT, sin necesidad de registrar un puerto de traducción UPnP para un host específico. Permite un ajuste independiente de MTU y MSS, optimizado para cada cliente en lugar de por cada enrutador compartido intermedio. Son posibles otros protocolos de enrutamiento (incluso para la entrega a través de multidifusión y redes de difusión). Y tiene la opción de los mecanismos de seguridad.
Un ejemplo de uso es Gogo6.net (que implementa su canal de transporte IPv6 a través de una sesión TCP utilizando una reimplementación de TCP sobre UDP v4 (funciona en la mayoría de los enrutadores de acceso doméstico que todavía solo tienen una dirección IPv4 y no siempre admite el método UPnP) ; sin necesidad de configurarlo por usuarios que usan un número de puerto constante específico para la aplicación, incluso cuando no se está ejecutando)
Otros ejemplos es encapsular TCP sobre HTTP (o HTTPS) versión 1.1 con su extensión nativa "transmitida". La mayoría de las VPN que permiten conectar redes a través de Internet harán lo mismo. El puente puede incluso encapsular múltiples protocolos: Ethernet, PPP, IPv4 e IPv6 (extendiendo solo el segmento local LAN o Ethernet), NetBEUI / LanMan, descubrimiento de enrutadores (dentro de la red puenteada), incluso en modo sin procesar (permitiendo DHCPv4 o DHCPv6) en La red puenteada. HTTPS se utiliza porque la encapsulación sobre HTTPS también permite el cifrado y la autenticación para establecer y proteger el puente, pero no requiere autenticación / cifrado de extremo a extremo para clientes y servidores a través de la red puenteada, y porque los enrutadores están altamente optimizados para HTTP y HTTPS.
Hay ejemplos de sistemas de comunicación en el ejército que usan TCP pero no IP, ya que la ruta de comunicación es una conexión de tipo serie que no se enruta a través de enrutadores, etc. Si observa un paquete TCP antes de que esté encabezado con campos IP, parece fácilmente posible no usar IP si su protocolo de "enrutamiento" es diferente.