




Internet la entendemos como "un conjunto de redes inform谩ticas internconectadas" [1], la idea detr谩s de lograr est谩 interconexi贸n, era principalmente que entre computadores de todo el mundo pudieran compartirse informaci贸n.
Para poder lograr esto, la comunicaci贸n entre los diferentes computadores, cada uno posiblemente con diferentes fabricantes, arquitecturas, etc. se necesitaba desarrollar, tal y como para la comunicaci贸n entre diferentes personas, un lenguaje com煤n por medio del cual los computadores pudieran ponerse de acuerdo sobre como se llevar铆a a cabo el proceso de transmisi贸n de la informaci贸n.
Un problema que surge de inmediato al pensar en esta transmisi贸n es como sabemos realmente que el computador A que pide informaci贸n al computador B, est谩 recibiendo exactamente, sin corrupci贸n ni errores la informaci贸n que est谩 pidiendo.
Otro problema igual de importante era determinar que hacer si en el tanscurso de la transmisi贸n de la informaci贸n desde B hasta A, se produc铆a alguna interrupci贸n. ¿C贸mo continuar?¿Desde qu茅 punto?¿C贸mo saber, al retomarse la conexi贸n, cuanto de la informaci贸n ha sido transmitido fielmente y c贸mo evitar comenzar desde cero?
Es aqu铆 donde es necesario establecer un protocolo, o sea, una serie de normas universales a todo internet que establezca las acciones a seguir, por parte de los computadores, en medio de una transmisi贸n.
Protocolo de Control de Trasmisi贸n (TCP)
Dentro del proceso de transmitir datos entre redes se cumplen varias etapas. Una de las etapas m谩s importantes es lograr la conexi贸n en s铆 entre el computador A y el computador B. Es decir, recibir ese
o ese
que nos confirma que ya est谩n ambos equipos listos para comenzar. Esta etapa se conoce como capa de transporte, y se encuentra en las capas 4 y 2 en los modelos OSI y TCP/IP, respectivamente. Auqnue tambi茅n abarca la capa de sesi贸n (capa 3) dentro del modelo OSI.

En definitiva, para esta etapa en particular existen y existieron diversos protocolos, pero el protocolo que desarrollaron Vint Cerf y Bob Kahn, y que expusieron por primera vez en un documento publicado por el Instituto de Ingenieros El茅ctricos y Electr贸nicos (IEEE) en mayo de 1974, al cual llamaron Transmission Control Protocol (TCP), lo cual traduce Protocolo de Control de Trasmisi贸n, es uel protocolo que junto con el Protocolo de Internet (IP) dan forma, vida y caracter铆sticas a lo que conocemos como internet. De hecho, es pefectamente posible conectar redes usando otros protocolos, pero lo que llamamos internet tiene como caracter铆sticas principales el uso de estos dos protocolos
Definici贸n t茅cnica
En el documento donde se expuso el nacimiento del TCP, Bob Kahn y Vint Cerf describieron b谩sicamente un protocolo de internetworking para compartir recursos utilizando la conmutaci贸n de paquetes entre los nodos, trabajando con G茅rard Le Lann para incorporar conceptos del proyecto franc茅s CYCLADES.
Un componente de control central de este modelo fue el Programa de Control de Transmisi贸n que incorpor贸 enlaces orientados a conexi贸n y servicios de datagramas entre hosts. El Programa de control de transmisi贸n monol铆tico se dividi贸 posteriormente en una arquitectura modular que consta del Protocolo de control de transmisi贸n en la capa de transporte y el Protocolo de Internet en la capa de Internet.
Ya hablando m谩s t茅cnicamente, el TCP es un protocolo orientado a la conexi贸n, lo que significa que se establece y mantiene una conexi贸n hasta que los programas de aplicaci贸n en cada extremo hayan terminado de intercambiar mensajes. Determina c贸mo dividir los datos de la aplicaci贸n en paquetes que las redes pueden entregar, env铆a paquetes y acepta paquetes desde la capa de red, administra el control de flujo y, como est谩 destinado a proporcionar transmisi贸n de datos sin errores, maneja la retransmisi贸n de paquetes ca铆dos o ilegibles as铆 como el reconocimiento de todos los paquetes que llegan.
C贸mo funciona
El desarrollo de internet tuvo varias etapas y varios experimentos de redes anteriores. El antecedente m谩s directo e impotante fue la ARPANET y esta tambi茅n ten铆a su propio protocolo de transmisi贸n. Ese protocolo se llamaba NCP (Programa de Control de Red) y fue sustituido por el TCP el 1 de Enero de 1983
NCP conectaba procesos que se ejecutaban en diferentes computadoras de ARPANET. Los protocolos en ARPANET en la capa f铆sica, capa de enlace de datos y capa de red se implementaron en procesadores de mensajes de interfaz por separado. Esto significaba que el NCP funcionaba muy parecido a una capa de transporte, ya que defin铆a el procedimiento para conectar dos hosts.

La idea general detr谩s del internet moderno es el env铆o de la informaci贸n en forma de paquetes. Cuando una computadora requiere la informaci贸n que est谩 en otra, esta infomaci贸n es dividida en paquetes. TCP chequea que todos los paquetes de informaci贸n transmitidos a trave茅s de una red IP, lleguen a su destino, sin da帽os y en el orden correcto. En el proceso de transmisi贸n mediante TCP, estos paquetes son enviados, en su forma ideal, empezando por un solo paquete; al llegar ese paquete a su destino, desde ese destino se env铆a un mensaje de confirmaci贸n de recibido al HOST y entonce este HOST procede a enviar ahora el doble de paquetes. As铆 continuan enviandose paquetes, recibiendo confirmaci贸n y enviando de el doble de paquetes que la vez anterior hasta que el mensaje llegue completo y se proceda a rearmar en la computaodra de dcestino, o, en caso de haber una caida en la conexi贸n, al producirse la reconexi贸n, se empiezan a enviar los paquetes faltantes (no se comienza desde cero) pero estos paquetes faltantes se empiezan a enviar de nuevo uno solo, luego dos, luego cuatro, as铆 sucesivamente

- Un servidor web env铆a un archivo HTML a un cliente, utilizando el protocolo HTTP
- La capa de programa HTTP le pide a la capa TCP que configure la conexi贸n y env铆e el archivo
- La pila TCP divide el archivo en paquetes, los numera y luego los reenv铆a individualmente a la capa IP para su entrega.
Aunque cada paquete en la transmisi贸n tendr谩 las mismas direcciones IP de origen y destino, los paquetes pueden enviarse a lo largo de m煤ltiples rutas. - La capa de programa TCP en la computadora del cliente espera hasta que hayan llegado todos los paquetes, luego reconoce los que recibe y solicita la retransmisi贸n en cualquiera que no lo haga (en funci贸n de los n煤meros de paquete faltantes)
- Finalmente los ensambla en un archivo y entrega el archivo a la aplicaci贸n receptora