Estructura de Internet
Internet no es una red centralizada ni está regida por un solo organismo. Su estructura se parece a una tela de araña en la cual unas redes se conectan con otras.
No obstante hay una serie de organizaciones responsables de la adjudicación de recursos y la evolución de los protocolos necesarios para que Internet evolucione. Por ejemplo:
* la Internet Engineering Task Force (IETF) se encarga de redactar los protocolos usados en Internet.
* la Corporación de Internet para los Nombres y los Números Asignados (ICANN) es la autoridad que coordina la asignación de identificadores únicos en Internet, incluyendo nombres de dominio, direcciones IP, etc.
Las direcciones en Internet
En Internet se emplean varios formatos para identificar máquinas, usuarios o recursos en general.
* En Internet se emplean direcciones numéricas para identificar máquinas: las direcciones IP. Se representan por cuatro números, de 0 a 255, separados por puntos. Un servidor puede identificarse, por ejemplo, con la dirección IP 66.230.200.100. Como es más sencillo recordar un nombre, las direcciones se "traducen" a nombres. Los trozos "traducidos" se denominan nombres de dominio. El servicio encargado de la traducción es el DNS.
* Para identificar a usuarios de correo electrónico se emplean las direcciones de correo electrónico, que tienen el siguiente formato:
usuario@servidor_de_correo.dominio
* Para identificar recursos en Internet, se emplean direcciones URL (Uniform Resource Locator, Localizador Uniforme de Recursos). Una dirección URL tiene la forma:
http://nombre_de_empresa.dominio/abc.htm
Siendo "http://" el protocolo, "nombre_de_empresa.dominio" el dominio (que es trasladado a una dirección IP por el servicios DNS), y "abc.htm" la localización del recurso al que se accede.
El flujo de información en Internet
La arquitectura cliente-servidor
Esta arquitectura consiste básicamente en que un programa el Cliente informático realiza peticiones a otro programa, el servidor, que les da respuesta.
Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.
En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.
La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa.
Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del sistema.
La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribución, tanto a nivel físico como a nivel lógico.
Ventajas de la arquitectura cliente-servidor
* Centralización del control: los accesos, recursos y la integridad de los datos son controlados por el servidor de forma que un programa cliente defectuoso o no autorizado no pueda dañar el sistema.
* Escalabilidad: se puede aumentar la capacidad de clientes y servidores por separado.
El servidor de cliente es la arquitectura de red que separa al cliente (a menudo un uso que utiliza un interfaz utilizador gráfico) de un servidor. Cada caso del software del cliente puede enviar peticiones a un servidor. Los tipos específicos de servidores incluyen los servidores web, los servidores del uso, los servidores de archivo, los servidores terminales, y los servidores del correo. Mientras que sus propósitos varían algo, la arquitectura básica sigue siendo igual.
Aunque esta idea se aplica en una variedad de maneras, en muchas diversas clases de usos, el ejemplo más fácil de visualizar es el uso actual de Web pages en el Internet. Por ejemplo, si estás leyendo este artículo en Wikipedia, tu computadora y web browser serían considerados un cliente, y las computadoras, las bases de datos, y los usos que componen Wikipedia serían considerados el servidor. Cuando tu web browser solicita un artículo particular de Wikipedia, el servidor de Wikipedia encuentra toda la información requerida para exhibir el artículo en la base de datos de Wikipedia, la monta en un Web page, y la envía de nuevo a tu web browser.
El procedimiento empleado para intercambiar información en Internet sigue el modelo cliente-servidor.
* Los servidores son computadoras donde se almacenan datos.
* El cliente es la computadora que realiza la petición al servidor para que éste le muestre alguno de los recursos almacenados.
Los paquetes de información
Un paquete de datos es una unidad fundamental de transporte de información en todas las redes de computadoras modernas. El término datagrama es usado a veces como sinónimo.
Un paquete está generalmente compuesto de tres elementos: una cabecera (header en inglés) que contiene generalmente la información necesaria para trasladar el paquete desde el emisor hasta el receptor, el área de datos (payload en inglés) que contiene los datos que se desean trasladar, y la cola (trailer en inglés), que comúnmente incluye código de detección de errores.
Actualmente se considera que un paquete corresponde a la capa de red del Model
SI, por ejemplo en el caso del protocolo IP. Siendo el paquete la unidad de datos de protocolo (PDU) de la capa de red.
Por lo general, cada capa emisora de un protocolo toma la PDU de una capa superior, y lo codifica dentro del área de datos. A medida que se transmite, la capa recibe la PDU de su capa par, recupera el área de datos y la transmite a una capa superior, que procede de igual manera. Por esto, las PDU tiene encapsuladas en su area de datos otras PDU.
En Internet la información se transmite en pequeños trozos llamados "paquetes". Lo importante es la reconstrucción en el destino del mensaje emitido, no el camino seguido por los paquetes que lo componen.
Si se destruye un nodo de la red, los paquetes encontrarán caminos alternativos. Este procedimiento no es el más eficiente, pero resiste las averías de una parte de la red.
Protocolo TCP/IP
Familia de protocolos de Internet
La familia de protocolos de Internet es un conjunto de protocolos de red en la que se basa Internet y que permiten la transmisión de datos entre redes de computadoras. En ocasiones se la denomina conjunto de protocolos TCP/IP, en referencia a los dos protocolos más importantes que la componen: Protocolo de Control de Transmisión (TCP) y Protocolo de Internet (IP), que fueron los dos primeros en definirse, y que son los más utilizados de la familia. Existen tantos protocolos en este conjunto que llegan a ser más de 100 diferentes, entre ellos se encuentra el popular HTTP (HyperText Transfer Protocol), que es el que se utiliza para acceder a las páginas web, además de otros como el ARP (Address Resolution Protocol) para la resolución de direcciones, el FTP (File Transfer Protocol) para transferencia de archivos, y el SMTP (Simple Mail Transfer Protocol) y el POP (Post Office Protocol) para correo electrónico, TELNET para acceder a equipos remotos, entre otros.
El TCP/IP es la base de Internet, y sirve para enlazar computadoras que utilizan diferentes sistemas operativos, incluyendo PC, minicomputadoras y computadoras centrales sobre redes de área local (LAN) y área extensa (WAN). TCP/IP fue desarrollado y demostrado por primera vez en 1972 por el departamento de defensa de los Estados Unidos, ejecutándolo en ARPANET, una red de área extensa del departamento de defensa.
La familia de protocolos de internet puede describirse por analogía con el modelo OSI, que describe los niveles o capas de la pila de protocolos, aunque en la práctica no corresponde exactamente con el modelo en Internet. En una pila de protocolos, cada nivel soluciona una serie de problemas relacionados con la transmisión de datos, y proporciona un servicio bien definido a los niveles más altos. Los niveles superiores son los más cercanos al usuario y tratan con datos más abstractos, dejando a los niveles más bajos la labor de traducir los datos de forma que sean físicamente manipulables.
El modelo de Internet fue diseñado como la solución a un problema práctico de ingeniería. El modelo OSI, en cambio, fue propuesto como una aproximación teórica y también como una primera fase en la evolución de las redes de ordenadores. Por lo tanto, el modelo OSI es más fácil de entender, pero el modelo TCP/IP es el que realmente se usa. Sirve de ayuda entender el modelo OSI antes de conocer TCP/IP, ya que se aplican los mismos principios, pero son más fáciles de entender en el modelo OSI.
Niveles en la pila TCP/IP
Hay algunas discusiones sobre como encaja el modelo TCP/IP dentro del modelo OSI. Como TCP/IP y modelo OSI no están delimitados con precisión no hay una respuesta que sea la correcta.
El modelo TCP/IP no está lo suficientemente dotado en los niveles inferiores como para detallar la auténtica estratificación en niveles: necesitaría tener una capa extra (el nivel de Interred) entre los niveles de transporte y red. Protocolos específicos de un tipo concreto de red, que se sitúan por encima del marco de hardware básico, pertenecen al nivel de red, pero sin serlo. Ejemplos de estos protocolos son el ARP (Protocolo de resolución de direcciones) y el STP (Spanning Tree Protocol). De todas formas, estos son protocolos locales, y trabajan por debajo de las capas de Interred. Cierto es que situar ambos grupos (sin mencionar los protocolos que forman parte del nivel de Interred pero se sitúan por encima de los protocolos de Interred, como ICMP) todos en la misma capa puede producir confusión, pero el modelo OSI no llega a ese nivel de complejidad para ser más útil como modelo de referencia.
El siguiente diagrama intenta mostrar la pila OSI y otros protocolos relacionados con el modelo OSI original:
7 Aplicación ej. HTTP, DNS, SMTP, SNMP, FTP, Telnet, SSH y SCP, NFS, RTSP, Feed, Webcal
6 Presentación ej. XDR, ASN.1, SMB, AFP
5 Sesión ej. TLS, SSH, ISO 8327 / CCITT X.225, RPC, NetBIOS
4 Transporte ej. TCP, UDP, RTP, SCTP, SPX
3 Red ej. IP, ICMP, IGMP, X.25, CLNP, ARP, RARP, BGP, OSPF, RIP, IGRP, EIGRP, IPX, DDP
2 Enlace de datos ej. Ethernet, Token Ring, PPP, HDLC, Frame Relay, RDSI, ATM, IEEE 802.11, FDDI
1 Físico ej. cable, radio, fibra óptica
Normalmente, los tres niveles superiores del modelo OSI (Aplicación, Presentación y Sesión) son considerados simplemente como el nivel de aplicación en el conjunto TCP/IP. Como TCP/IP no tiene un nivel de sesión unificado sobre el que los niveles superiores se sostengan, estas funciones son típicamente desempeñadas (o ignoradas) por las aplicaciones de usuario. La diferencia más notable entre los modelos de TCP/IP y OSI es el nivel de Aplicación, en TCP/IP se integran algunos niveles del modelo OSI en su nivel de Aplicación. Una interpretación simplificada de la pila TCP/IP se muestra debajo:
5 Aplicación ej. HTTP, FTP, DNS
(protocolos de enrutamiento como BGP y RIP, que por varias razones funcionen sobre TCP y UDP respectivamente, son considerados parte del nivel de red)
4 Transporte ej. TCP, UDP, RTP, SCTP
(protocolos de enrutamiento como OSPF, que funcionen sobre IP, son considerados parte del nivel de red)
3 Interred Para TCP/IP este es el Protocolo de Internet (IP)
(protocolos requeridos como ICMP e IGMP funcionan sobre IP, pero todavía se pueden considerar parte del nivel de red; ARP no funciona sobre IP
2 Enlace ej. Ethernet, Token Ring, PPP, HDLC, Frame Relay, RDSI, ATM, IEEE 802.11, FDDI
1 Físico ej. medio físico, y técnicas de codificación, T1, E1
El nivel Físico
El nivel físico describe las características físicas de la comunicación, como las convenciones sobre la naturaleza del medio usado para la comunicación (como las comunicaciones por cable, fibra óptica o radio), y todo lo relativo a los detalles como los conectores, código de canales y modulación, potencias de señal, longitudes de onda, sincronización y temporización y distancias máximas. La familia de protocolos de Internet no cubre el nivel físico de ninguna red; véanse los artículos de tecnologías específicas de red para los detalles del nivel físico de cada tecnología particular.
El nivel de Enlace de datos
El nivel de enlace de datos especifica como son transportados los paquetes sobre el nivel físico, incluido los delimitadores (patrones de bits concretos que marcan el comienzo y el fin de cada trama). Ethernet, por ejemplo, incluye campos en la cabecera de la trama que especifican que máquina o máquinas de la red son las destinatarias de la trama. Ejemplos de protocolos de nivel de enlace de datos son Ethernet, Wireless Ethernet, SLIP, Token Ring y ATM.
PPP es un poco más complejo y originalmente fue diseñado como un protocolo separado que funcionaba sobre otro nivel de enlace, HDLC/SDLC.
El nivel de Interred
Como fue definido originalmente, el nivel de red soluciona el problema de conseguir transportar paquetes a través de una red sencilla. Ejemplos de protocolos son X.25 y Host/IMP Protocol de ARPANET.
Con la llegada del concepto de Interred, nuevas funcionalidades fueron añadidas a este nivel, basadas en el intercambio de datos entre una red origen y una red destino. Generalmente esto incluye un enrutamiento de paquetes a través de una red de redes, conocidada como Internet.
En la familia de protocolos de Internet, IP realiza las tareas básicas para conseguir transportar datos desde un origen a un destino. IP puede pasar los datos a una serie de protocolos superiores; cada uno de esos protocolos es identificado con un único "Número de protocolo IP". ICMP y IGMP son los protocolos 1 y 2, respectivamente.
Algunos de los protocolos por encima de IP como ICMP (usado para transmitir información de diagnóstico sobre transmisiones IP) e IGMP (usado para dirigir tráfico multicast) van en niveles superiores a IP pero realizan funciones del nivel de red e ilustran una incompatibilidad entre los modelos de Internet y OSI. Todos los protocolos de enrutamiento, como BGP, OSPF, y RIP son realmente también parte del nivel de red, aunque ellos parecen pertenecer a niveles más altos en la pila.
El nivel de Transporte
Los protocolos del nivel de transporte pueden solucionar problemas como la fiabilidad ("¿alcanzan los datos su destino?") y la seguridad de que los datos llegan en el orden correcto. En el conjunto de protocolos TCP/IP, los protocolos de transporte también determinan a que aplicación van destinados los datos.
Los protocolos de enrutamiento dinámico que técnicamente encajan en el conjunto de protocolos TCP/IP (ya que funcionan sobre IP) son generalmente considerados parte del nivel de red; un ejemplo es OSPF (protocolo IP número 89).
TCP (protocolo IP número 6) es un mecanismo de transporte fiable y orientado a conexión, que proporciona un flujo fiable de bytes, que asegura que los datos llegan completos, sin daños y en orden. TCP realiza continuamente medidas sobre el estado de la red para evitar sobrecargarla con demasiado tráfico. Además, TCP trata de enviar todos los datos correctamente en la secuencia especificada. Esta es una de las principales diferencias con UDP, y puede convertirse en una desventaja en flujos en tiempo real (muy sensibles a la variación del retardo) o aplicaciones de enrutamiento con porcentajes altos de pérdida en el nivel de interred.
Más reciente es SCTP, también un mecanismo fiable y orientado a conexión. Está relacionado con la orientación a byte, y proporciona múltiples sub-flujos multiplexados sobre la misma conexión. También proporciona soporte de multihoming, donde una conexión puede ser representada por múltiples direcciones IP (representando múltiples interfaces físicas), así si hay una falla la conexión no se interrumpe. Fue desarrollado inicialmente para aplicaciones telefónicas (para transportar SS7 sobre IP), pero también fue usado para otras aplicaciones.
UDP (protocolo IP número 17) es un protocolo de datagramas sin conexión. Es un protocolo no fiable (best effort al igual que IP) - no porque sea particularmente malo, sino porque no verifica que los paquetes lleguen a su destino, y no da garantías de que lleguen en orden. Si una aplicación requiere estas características, debe llevarlas a cabo por sí misma o usar TCP.
UDP es usado normalmente para aplicaciones de streaming (audio, video, etc) donde la llegada a tiempo de los paquetes es más importante que la fiabilidad, o para aplicaciones simples de tipo petición/respuesta como el servicio DNS, donde la sobrecarga de las cabeceras que aportan la fiabilidad es desproporcionada para el tamaño de los paquetes.
DCCP está actualmente bajo desarrollo por el IETF. Proporciona semántica de control para flujos TCP, mientras de cara al usuario se da un servicio de datagramas UDP..
TCP y UDP son usados para dar servicio a una serie de aplicaciones de alto nivel. Las aplicaciones con una dirección de red dada son distinguibles entre sí por su número de puerto TCP o UDP. Por convención, los puertos bien conocidos (well-known ports) son asociados con aplicaciones específicas.
RTP es un protocolo de datagramas que ha sido diseñado para datos en tiempo real como el streaming de audio y video que se monta sobre UDP.
El nivel de Aplicación
El nivel de aplicación es el nivel que los programas más comunes utilizan para comunicarse a través de una red con otros programas. Los procesos que acontecen en este nivel son aplicaciones específicas que pasan los datos al nivel de aplicación en el formato que internamente use el programa y es codificado de acuerdo con un protocolo estándar.
Algunos programas específicos se considera que se ejecutan en este nivel. Proporcionan servicios que directamente trabajan con las aplicaciones de usuario. Estos programas y sus correspondientes protocolos incluyen a HTTP (HyperText Transfer Protocol), FTP (Transferencia de archivos), SMTP (correo electrónico), SSH (login remoto seguro), DNS (Resolución de nombres de dominio) y a muchos otros.
Una vez que los datos de la aplicación han sido codificados en un protocolo estándar del nivel de aplicación son pasados hacia abajo al siguiente nivel de la pila de protocolos TCP/IP.
En el nivel de transporte, las aplicaciones normalmente hacen uso de TCP y UDP, y son habitualmente asociados a un número de puerto bien conocido (well-known port). Los puertos fueron asignados originalmente por la IANA.
Ventajas e inconvenientes
El conjunto TCP/IP está diseñado para enrutar y tiene un grado muy elevado de fiabilidad, es adecuado para redes grandes y medianas, así como en redes empresariales. Se utiliza a nivel mundial para conectarse a Internet y a los servidores web. Es compatible con las herramientas estándar para analizar el funcionamiento de la red.
Un inconveniente de TCP/IP es que es más difícil de configurar y de mantener que NetBEUI o IPX/SPX; además es algo más lento en redes con un volumen de tráfico medio bajo. Sin embargo, puede ser más rápido en redes con un volumen de tráfico grande donde haya que enrutar un gran número de tramas.
El conjunto TCP/IP se utiliza tanto en redes empresariales como por ejemplo en campus universitarios o en complejos empresariales, en donde utilizan muchos enrutadores y conexiones a mainframe o a ordenadores UNIX, como así también en redes pequeñas o domésticas, y hasta en teléfonos móviles y en domótica.
Fuente:
http://es.wikipedia.org/wiki/Protocolo_TCP/IP
Para intercambiar información entre computadores es necesario desarrollar técnicas que regulen la transmisión de paquetes.
Dicho conjunto de normas se denomina protocolo. Hacia 1973 aparecieron los protocolos TCP e IP, utilizados ahora para controlar el flujo de datos en Internet.
* El protocolo TCP (y también el UDP), se encarga de fragmentar el mensaje emitido en paquetes. En el destino, se encarga de reorganizar los paquetes para formar de nuevo el mensaje, y entregarlo a la aplicación correspondiente.
* El protocolo IP enruta los paquetes. Esto hace posible que los distintos paquetes que forman un mensaje pueden viajar por caminos diferentes hasta llegar al destino.
La unión de varias redes (ARPANET y otras) en Estados Unidos, en 1983, siguiendo el protocolo TCP/IP, puede ser considerada como el nacimiento de Internet (Interconnected Networks.
Servicio de Nombres
Existe un servicio que se encarga de proporcionar la correspondencia entre una dirección IP y su nombre de dominio, y viceversa. Este servicio es el DNS (Domain Name System, Sistema de Nombres de Dominio).
Cada vez que se inicia una comunicación con un nombre de dominio, el ordenador realiza una petición a su servidor DNS para que le proporcione la IP asociada a ese nombre.
El sistema DNS es jerárquico. Cada subdominio de internet suele tener su propio servidor DNS, responsable de los nombres bajo su dominio. A su vez, hay un servidor encargado de cada dominio (por ejemplo un nivel nacional (.es)), y hay una serie de servidores raíz, que conocen toda la estructura DNS superior.
El funcionamiento del correo electrónico
Los primeros mensajes de correo electrónico solo incluían texto ASCII. Luego se crearon las extensiones MIME al protocolo SMTP, para poder enviar mensajes con archivos adjuntos, utilizar otros juegos de caracteres, o p. ej. enviar un mensaje con formato HTML.
El proceso de envío es el siguiente (se indica entre paréntesis el protocolo utilizado en cada paso):
1. Cuando un usuario envía un correo, el mensaje se dirige hasta el servidor encargado del envío de correo electrónico de su proveedor de Internet (SMTP).
2. Este servidor lo reenvía al servidor de correo electrónico encargado de la recepción de mensajes del destinatario (SMTP).
3. El servidor de correo electrónico del destinatario procesa el mensaje y lo deposita en el buzón del destinatario. El mensaje ha llegado.
4. Este buzón es accesible mediante el servidor de lectura de correos (POP, ó IMAP). Así, cuando el destinatario, posteriormente, solicita sus mensajes, el servidor de correo de lectura se los envía. Ahora, el destinatario puede leerlos.
Todo este proceso (pasos del 1 al 3) se realiza en un período de tiempo breve. Pocos minutos (o solamente segundos), bastan, en general, para que llegue el mensaje hasta su destino. Factores derivados del tráfico en las redes, filtros antispam y antivirus, y otros, pueden influir en este tiempo.
Protocolos de correo electrónico
* El protocolo SMTP (Simple Mail Transfer Protocol) permite el envío (correo saliente) desde el cliente hacia Internet (el mensaje se transmite, inicialmente, entre servidores de correo).
* El protocolo POP (Post Office Protocol) permite recibir mensajes de correo hacia el cliente (se almacenan en el ordenador del destinatario), desde el servidor (correo entrante).
* El protocolo IMAP (Internet Message Access Protocol) permite recibir mensajes de correo hacia el cliente (se almacenan en el ordenador del destinatario), desde el servidor, al igual que el protocolo POP (correo entrante), pero IMAP permite gestionar el correo de forma más flexible. Así, es posible sincronizar contenidos entre el cliente y el servidor, utilizar diferentes carpetas para clasificar el correo (sincronizadas entre cliente y servidor), realizar búsquedas en el lado del servidor, descargar solamente partes del mensaje, etc.
Fuente:
http://es.wikipedia.org/wiki/Estructura_de_Internet