Es un estándar que define cómo colocar las direcciones de “origen” y “destino” y un poco de otra información útil dentro de un paquete de red, y cómo se supone que debe manejar esos paquetes.
En el nivel más bajo, el tráfico en una red informática es muy local y muy genérico: los paquetes de bajo nivel se dirigen a una tarjeta de red física (por lo que solo funcionan en la red a la que está conectado físicamente), y no hay reglas para qué pueden contener Para hacer esto más útil, existen estándares para el formato de las cosas dentro de esos paquetes.
Uno de esos formatos de paquete es IP. Una gran ventaja es que es enrutable : una computadora con múltiples conexiones de red puede mirar la dirección de destino, compararla con una tabla de redes conocidas y decidir dónde enviarla. Esto significa que puede enviar un paquete desde su computadora local a través de un enrutador, y desde allí puede rebotar a través de múltiples enrutadores adicionales antes de que finalmente llegue a su destino.
Hay dos versiones de IP: IPv4 e IPv6. Me quedaré con IPv4 por ahora. Las direcciones de origen y destino en IP son números de 32 bits, generalmente escritos con los bytes separados por puntos, como 10.0.0.1. Probablemente los haya visto en uso.
En los primeros días de las redes de computadoras, la mayoría de los sitios tenían sus propias variantes locales, y la comunicación entre sitios requería que encontraras alguna forma de transferir datos que ambos extremos pudieran entender. IP es un protocolo bastante simple, por lo que varias organizaciones y compañías diferentes agregaron soporte a sus redes. Esto significaba que de repente podía enviar un paquete a una máquina remota tan fácilmente como a una local, lo que facilitaba mucho las cosas. Esto se convirtió en un gran sistema de redes interconectadas, donde su paquete podría pasar por varias otras ubicaciones antes de llegar al destino. Finalmente, esta red interconectada se conoció como internet .
Hay un par de otras cosas que también fueron fundamentales para Internet tal como la conocemos hoy en día: TCP, DNS, los protocolos de enrutamiento (por ejemplo, IS-IS, OSPF, BGP) y los protocolos / formatos de contenido (por ejemplo, correo electrónico y páginas web ) … pero todo eso se transmite a través de paquetes IP.
TCP probablemente merece una mención; Fue desarrollado en conjunto con IP y es profundamente importante. Cuando envía un paquete IP, no hay conexión , ni siquiera un recibo de entrega; Cada paquete es un disparo a la oscuridad. Para solucionar esto, puede poner otro encabezado al comienzo de los datos dentro de un paquete IP, para que el paquete se vea así:
[Encabezado IP | Encabezado TCP | datos]
Lo más importante que agrega TCP es un concepto de transmisiones confiables. Cuando envía un paquete IP, envía una porción de datos de como máximo unos pocos kilobytes. TCP ocultará esto, por lo que puede insertar la cantidad de datos que desee en una conexión en un extremo, dividirlos en paquetes, volver a ensamblarlos en el otro extremo y presentarlos como el mismo flujo continuo de bytes. TCP también tiene un sistema en el que cada paquete está numerado y debe reconocerse, por lo que si uno falta, se retransmitirá. Esto facilita el desarrollo de programas en red: puede escribir lo que quiera en una conexión, y TCP se asegurará de que llegue al otro extremo tal como lo envió.
Tenga en cuenta que he pasado por alto muchas veces en la historia de Internet. En particular, la red interconectada original (ARPANET) usó un protocolo diferente, TCP / IP fue un refinamiento posterior que abrió las cosas para una adopción mucho más amplia. Si encuentra esto interesante, le sugiero que comience en wikipedia: ARPANET, el conjunto de protocolos de Internet, Historia de Internet y los enlaces desde allí. La Internet Society también tiene una breve historia muy interesante de Internet que es mucho más detallada de lo que sugiere su nombre.