¿Cómo funciona el internet?

Muchas personas han mencionado el modelo OSI, por lo que voy a tomar una grieta ligeramente diferente al reformular esta pregunta: ¿Cómo construirías Internet desde cero?

Básicamente, el objetivo del modelo OSI es que, en su mayor parte, no debería importarle cómo funcionan las otras capas, solo que hacen lo que se supone que deben hacer. Entonces, si quisiéramos construir Internet desde cero, podríamos hacerlo capa por capa.

Así que tratemos de construir nuestro propio pequeño internet:

1) Lo primero que necesitamos es la capacidad de convertir una pieza de datos dentro de la memoria de mi computadora a señales eléctricas en un cable (o tal vez ondas de radio, pero sigamos con el cableado por ahora). Esto se llama la “capa física”. Un medio muy común para esto son los cables de cobre de par trenzado (esto es lo que mucha gente llama “cables de ethernet”). Entonces, supongamos que un amigo mío me construye el hardware que necesito para enviar datos de un extremo de un cable de par trenzado a otro. ¡¡Excelente!! Ahora puedo conectar dos computadoras y comenzar a enviar unos y ceros sin procesar de una computadora a la otra. Sin embargo, solo algunos problemas: ¿Qué sucede si algunos de estos 1s y 0s se pierden (debido a interferencia eléctrica o de otro tipo)? ¿Qué sucede si mi amiga quiere enviarme algunos datos al mismo tiempo que yo quiero enviarle sus datos? ¿Qué demonios va a hacer el otro lado con estos y ceros (no hemos dicho nada sobre el formato de los datos que enviamos)? Y lo más importante, un internet con solo 2 computadoras no es muy útil.

2) La segunda capa (la “capa de enlace de datos”) aborda algunos de estos problemas. Primero, trata de hacer que la comunicación punto a punto sea algo confiable, pero presenta estrategias para lidiar con colisiones, errores, etc.… Segundo, asigna una forma de direccionar dispositivos en una red, para que pueda tener más de dos dispositivos . Si estamos utilizando cables de par trenzado como nuestro medio físico, el protocolo de capa de enlace más común se llama “Ethernet” (es por eso que los cables de par trenzado se llaman cables de Ethernet). En Ethernet, cada dispositivo tiene una dirección MAC, y puede conectar computadoras a un dispositivo llamado “interruptor” que puede reenviar “tramas” de la dirección MAC A a la dirección B. Bastante ordenado: ahora en lugar de 2 computadoras, podemos conectar quizás 20-30 computadoras entre sí, y podemos estar razonablemente seguros de que una sola unidad de datos (un “marco”) llegará a la otra parte. Lo que hemos construido hasta ahora se llama un “segmento LAN”, y es básicamente lo que tendrías que conectar todas las computadoras en una pequeña oficina, o todas las computadoras en tu hogar. Ok, mentí Podemos usar algunos trucos para pasar de 20 computadoras a tal vez 200 (más o menos en la capa 2), y también usar un truco llamado “puente” para conectar diferentes medios físicos, pero eso todavía no nos ayuda mucho. El problema es que 20 (o incluso 200) computadoras no es mucho, todas las computadoras deben estar en la misma red física, y cada computadora necesita saber la dirección MAC de cualquier otra computadora. Por supuesto, todavía no hemos hablado sobre el infierno que vamos a enviar, pero antes de hacerlo, necesitamos hacer que nuestro pequeño Internet sea más escalable.

3) En camina la capa 3 – la “capa de red”. Este es el quid de lo que llamamos internet. El propósito clave de esta capa es poder construir una gran red de redes, donde cada computadora no necesita saber sobre la existencia de cualquier otra computadora. Internet utiliza un protocolo de capa 3 conocido como “IP” o el “Protocolo de Internet”. Algunas características clave de IP son: cada computadora tiene una dirección llamada dirección IP. Esta dirección IP tiene dos partes, la dirección de red y la dirección de host. Al intentar enviar mensajes a otras computadoras en la misma red (técnicamente llamada “subred”), las computadoras usan algo llamado “Protocolo de resolución de direcciones” para traducir la dirección IP a una dirección MAC de capa 2 y luego envían el paquete a la antigua usanza ( por dirección MAC). Pero, aquí está la parte realmente clara: cuando envío algo a una red diferente, usamos algo conocido como enrutamiento para descubrir cómo enviarlo, incluso si no tengo idea de dónde está esa red. Aquí es más o menos cómo funciona:
Quiero enviar un mensaje al servidor web de Google (dirección IP: 173.194.219.105, hablaré sobre cómo lo conseguí más adelante). Mi computadora mira su tabla de enrutamiento y dice “oye, no sé cómo llegar allí, pero sí sé que cada vez que me pierdo, debo enviar datos a mi” puerta de enlace “, que para mi computadora es 192.168. 0.1 (este es el “enrutador” que se encuentra en mi apartamento). Luego el enrutador en mi apartamento dice: “oye, no sé cómo llegar a 173.xxx, pero mi tabla de enrutamiento dice que cuando se pierde, envía al 68.173 .207.173 (la dirección IP de mi ISP). Y así …. cada paso me acerca un poco más a google. Mientras que en los primeros 2-3 pasos (técnicamente llamados “saltos”), solo hay una opción, luego los enrutadores se vuelven mucho más complejos y pueden enviar datos en, por ejemplo, 10 direcciones diferentes. Por lo tanto, pueden tener una tabla de enrutamiento que se parece a “enviar cualquier cosa que vaya a 160-192.xxx en una salida (llamada” interfaz “), enviar cualquier cosa que vaya a 32-64.xxx en otra, etc.”. Finalmente, utilizando este método, mi mensaje llega a google, a pesar de que ni yo ni mi computadora tenemos idea de dónde está realmente el servidor de Google. Increíble de verdad.

El conjunto de protocolos IP también tiene cosas útiles como “DNS”, que traduce nombres como “http://www.google.com” a 173.194.219.105. Y un protocolo llamado DHCP que permite a las computadoras obtener direcciones IP asignadas automáticamente. Y muchos otros, pero estos son los clave.

4) Entonces ahora puedo enviar un mensaje a Google. Pero, ¿y si quiero enviar muchos mensajes? Según el método anterior, no hay garantía de que aparezcan en Google en el mismo orden en que los envié. De hecho, la realidad es que algunos de ellos podrían aparecer ahora. Entonces, la siguiente capa, “la capa de transporte”, me permite establecer una “conexión” con Google. Esta conexión tiene cosas como números de secuencia y un mecanismo para “reconocer” paquetes. De esta manera, si el mensaje 5 llega antes que el 4, la computadora de Google sabrá que están fuera de servicio. O si el mensaje 5 no llega pero llegan 6,7,8, Google enviará un mensaje de regreso a mi computadora diciendo “oye, ¿puedes enviar el mensaje 5 de nuevo?”. El protocolo que hace esto se conoce como “TCP”.

6) ¡Uf! Ahora, finalmente, podemos enviar mensajes de un extremo del mundo a otro de manera confiable. Y ahora podemos hablar sobre qué demonios nos estamos enviando. El protocolo de “capa de aplicación” más común en Internet se llama HTTP. Esto se usa para navegar por la web. Básicamente, define un conjunto de reglas sobre cómo “solicitar” una página web y cómo el “servidor web” enviará una “respuesta”. El navegador que se ejecuta en mi computadora sabe cómo generar estas solicitudes y descifrar estas respuestas, y luego muestra la respuesta como una hermosa página de Google en mi pantalla. ¡Uf, uy uuuuuuuuuuuuuuuuuuuuuuuuuuuuuy !!!!

Ahora mira esta respuesta, aunque extremadamente LOOOONNNGGG, apenas rasca la superficie. Literalmente, puede escribir muchos libros en cualquiera de estas capas. Si desea obtener más información, un buen lugar para comenzar es: Redes de computadoras (5ª edición): Andrew S. Tanenbaum, David J. Wetherall: 9780132126953: Amazon.com: Libros

Internet funciona porque una colección de redes acuerdan protocolos, métodos y prácticas como comunidad (científica). Es una red abierta, siempre y cuando sigas las reglas de las comunidades abiertas. No hay políticas significativas involucradas, es altamente científico en su enfoque. Los protocolos se desarrollan a la intemperie.

Todo es un esfuerzo colectivo. Todos se benefician (o todos sufren) lo mismo. No estoy seguro de que haya otros ejemplos buenos de tal esfuerzo de colaboración entre los humanos. De esta manera, es un ejemplo bastante sorprendente de lo que los humanos pueden hacer juntos.

Internet es una colección de redes independientes (administradas de forma autónoma). Debido a un diseño abierto y acuerdos entre redes, la tecnología y los protocolos proporcionan un método muy eficiente para intercambiar datos entre todas las redes conectadas. Los datos se intercambian como “paquetes”. Cada paquete es una pequeña porción de datos, generalmente entre 50 y 1500 bytes por paquete (en Internet abierto). Los paquetes “Jumbo” pueden atravesar algunas redes, alrededor de 9000 bytes cada una.

1 MB (megaByte) de datos toma aproximadamente 690 paquetes, o más, dependiendo de la configuración del host y la red, para transferir dichos datos. La sobrecarga de dicha transferencia puede variar, dependiendo de la configuración del host y la red, pero es tan baja como 2.7x%, y generalmente alrededor del área de 3-4%, en el mundo real.

Internet es eficiente, vendible, y los protocolos y gastos generales proporcionan muy buena capacidad de recuperación. Internet es muy eficaz para “garantizar” la entrega de datos, sin intervención o regulación gubernamental, sin autoridad central.

Internet es una colección de muchos protocolos, en muchas “capas” para permitir que las aplicaciones funcionen en una red. Como modelo de referencia, hay un modelo OSI de 7 capas, que en la realidad actual se parece más a 5 capas … físico, enlace de datos (conmutación / enmarcado), red (enrutamiento / paquetes), transporte (UDP / TCP / sesiones) – la entrada inicial en el sistema operativo host y el concepto más amplio de capa de aplicación.

Internet funciona, al igual que las computadoras, por la forma en que procesan y transfieren bits de datos. Un bit es un valor 0 o 1. Son todos los números. Los nombres que le damos a las cosas son capas encima de la función subyacente. Uno de los protocolos más importantes, en el que pocos usuarios piensan mucho, es el DNS. DNS traduce un nombre (nombre de dominio) a una dirección IP. Pero se necesitan muchos, muchos otros protocolos para permitir que eso suceda … solo algunos de los más comunes y básicos son … Ethernet, TCP / IP (TCP / UDP, direccionamiento IP), BGP y más.

1. ¿Qué es internet?

Está formado por millones de computadoras en todo el mundo que están conectadas digitalmente entre sí por cable, fibra o enlaces inalámbricos. Puede usar Internet para navegar por sitios web, comunicarse con personas, descargar imágenes y videos, escuchar música o hacer muchas otras cosas increíbles.
Pero, ¿alguna vez te has preguntado cómo funciona Internet?

2. ¿Cómo funciona?

Hola señorita paloma. ¡Probablemente uses Internet para convencer a tus amigos palomas en Tweeter! Pero, ¿alguna vez te has preguntado cómo funciona realmente? Si cada nido de pájaros fuera una computadora, entonces Internet sería como conectar cada nido de pájaros para que todos puedan hablar entre ellos. En informática, se llama red. Pero no es suficiente solo conectar los nidos juntos. Los pájaros también deben acordar cómo usarán las conexiones. Incluyendo cómo se abordará un mensaje y cómo se transmitirá. En internet, estas reglas se llaman protocolos. Pero, ¿qué pasa si quieres enviar algo que es demasiado grande? Tendría que dividirlo en pedazos pequeños para llegar allí. Internet funciona exactamente de la misma manera, pero estas pequeñas piezas se llaman paquetes. Cada paquete incluye instrucciones sobre cómo encaja y detalles sobre de dónde vino y hacia dónde va. Cada computadora en Internet tiene una dirección numérica única llamada dirección IP, que se puede buscar automáticamente usando un servidor de nombres de dominio, que es como una libreta de direcciones gigante. Cuando tenemos una dirección, los paquetes son guiados a través de Internet por enrutadores, que los pasan como un bastón en una carrera de relevos. Cuando llega la entrega, las instrucciones explican cómo volver a armar todos los paquetes.
¡Perfecto!

3. ¿ Haciendo una solicitud?

Entonces, ¿cómo se mueve la información por Internet?

Imaginemos que está visitando una página web con una imagen. ¿Cómo llega la imagen a tu computadora?
Enviando una solicitud
La imagen está alojada en un servidor web. Su computadora envía una solicitud al servidor web para obtener la imagen.
La solicitud se envía en un ‘paquete’. Un paquete es como un paquete virtual que tiene mucha información importante adjunta. Los dos bits de información más importantes son la dirección IP del servidor web en el que se almacena la imagen y la dirección IP de su computadora.
Las computadoras especiales llamadas enrutadores y los dispositivos llamados conmutadores dirigen el paquete desde su computadora al servidor web. El servidor web puede estar cerca o al otro lado del mundo.
Alrededor del mundo

El paquete se puede enviar a todo el mundo a través de cables de fibra óptica bajo el mar o incluso por satélite.

4. ¿ Recibiendo información?

Ahora que el paquete ha llegado, el servidor web lo abre y lee la solicitud de su computadora, en este caso ‘por favor envíeme esta imagen’.

Las imágenes a menudo son bastante grandes, por lo que deben dividirse en muchos paquetes, a menudo cientos o miles de ellos. Todos estos paquetes incluyen información sobre cómo se deben volver a armar, así como a dónde van y de dónde provienen.

Diferentes rutas
El servidor web envía estos paquetes a su computadora y una vez más los enrutadores y conmutadores los dirigen.
Los enrutadores intentan encontrar la ruta más rápida posible para cada paquete. Pueden tomar diferentes rutas y pueden no llegar en el mismo orden en que fueron enviados.

Poner los paquetes nuevamente juntos
Ahora que se han recibido todos los paquetes, la información adjunta le dice a su computadora cómo volver a armarlos y la imagen se mostrará en su pantalla.
¡Todo este proceso de enviar una solicitud y recibir los paquetes generalmente toma menos de un segundo!

5. Glosario

Paquetes de datos:
Cuando la información se envía de una computadora a otra, se divide en pequeños bits de datos llamados ‘paquetes’. Cada paquete incluye información sobre a dónde van los datos, de dónde provienen y cómo volver a ensamblarlos.

Dirección IP :
Las computadoras usan una dirección IP (dirección de Protocolo de Internet) para identificarse entre sí. Es un poco como un código postal que es único para cada computadora conectada a Internet. Una dirección IP es un conjunto de números que podrían verse así: 195.188.87.10.

Interruptor:
Un dispositivo inteligente que conecta muchos dispositivos diferentes para que puedan actuar como una red. A veces se utilizan dispositivos más simples llamados ‘hubs’.

Enrutador:
Un dispositivo inteligente que dirige o enruta información a través de Internet. Cuando llega un paquete de datos, el enrutador lee la información de la dirección IP y envía el paquete por la mejor ruta a su destino.

DNS:
El DNS (Sistema de nombres de dominio) es un conjunto de estándares sobre cómo las computadoras intercambian datos en Internet. El DNS convierte los nombres de dominio fáciles de usar como BBC – Homepage en una dirección de Protocolo de Internet (IP).

así es como funciona este mar de información …

Apostamos a que usa Internet todos los días. Pero, ¿sabes realmente qué sucede cuando escribes una dirección como http://djangogirls.org en tu navegador y presionas enter ?

Lo primero que debe entender es que un sitio web es solo un montón de archivos guardados en un disco duro. Al igual que sus películas, música o imágenes. Sin embargo, hay una parte que es única para los sitios web: incluyen un código de computadora llamado HTML.

Si no está familiarizado con la programación, puede ser difícil comprender HTML al principio, pero a sus navegadores web (como Chrome, Safari, Firefox, etc.) les encanta. Los navegadores web están diseñados para comprender este código, seguir sus instrucciones y presentar estos archivos de los que está hecho su sitio web, exactamente de la manera que desee.

Como con todos los archivos, necesitamos almacenar archivos HTML en algún lugar de un disco duro. Para Internet, utilizamos computadoras especiales y potentes llamadas servidores . No tienen pantalla, mouse o teclado, porque su propósito principal es almacenar datos y servirlos. Es por eso que se llaman servidores , porque le sirven datos.

OK, pero quieres saber cómo se ve Internet, ¿verdad?

¡Te dibujamos una foto! Se parece a esto:

Parece un desastre, ¿verdad? De hecho, es una red de máquinas conectadas (los servidores mencionados anteriormente). ¡Cientos de miles de máquinas! ¡Muchos, muchos kilómetros de cables alrededor del mundo! Puede visitar un sitio web de Submarine Cable Map ( http://submarinecablemap.com ) para ver lo complicada que es la red. Aquí hay una captura de pantalla del sitio web:

Es fascinante, ¿no es así? Pero obviamente, no es posible tener un cable entre cada máquina conectada a Internet. Entonces, para llegar a una máquina (por ejemplo, aquella donde se guarda http://djangogirls.org ) necesitamos pasar una solicitud a través de muchas, muchas máquinas diferentes.

Se parece a esto:

Imagine que cuando escribe http://djangogirls.org , envía una carta que dice: “Queridas chicas de Django, quiero ver el sitio web http://djangogirls.org . ¡Envíenmelo, por favor!”

Su carta va a la oficina de correos más cercana a usted. Luego pasa a otro que está un poco más cerca de su destinatario, luego a otro y otro hasta que se entrega en su destino. Lo único único es que si envía muchas cartas ( paquetes de datos ) al mismo lugar, podrían pasar por oficinas postales ( enrutadores ) totalmente diferentes. Esto depende de cómo se distribuyen en cada oficina.

Si, es tan simple como eso. Envías mensajes y esperas alguna respuesta. Por supuesto, en lugar de papel y lápiz, usa bytes de datos, ¡pero la idea es la misma!

En lugar de direcciones con un nombre de calle, ciudad, código postal y nombre de país, usamos direcciones IP. Su computadora primero le pide al DNS (Sistema de nombres de dominio) que traduzca http://djangogirls.org en una dirección IP. Funciona un poco como las guías telefónicas pasadas de moda, donde puedes buscar el nombre de la persona con la que quieres contactar y encontrar su número de teléfono y dirección.

Cuando envía una carta, debe tener ciertas características para que se entreguen correctamente: una dirección, sello, etc. También utiliza un idioma que el receptor entiende, ¿verdad? Lo mismo se aplica a los paquetes de datos que envía para ver un sitio web. Utilizamos un protocolo llamado HTTP (Protocolo de transferencia de hipertexto).

Entonces, básicamente, cuando tienes un sitio web, necesitas tener un servidor (máquina) donde viva. Cuando el servidor recibe una solicitud entrante (en una carta), devuelve su sitio web (en otra carta).

Como se trata de un tutorial de Django, se preguntará qué hace Django. Cuando envía una respuesta, no siempre desea enviar lo mismo a todos. Es mucho mejor si tus cartas son personalizadas, especialmente para la persona que te acaba de escribir, ¿verdad? Django te ayuda a crear estas cartas personalizadas e interesantes :).

¡Basta de hablar, es hora de crear!

fuente: Elige un idioma

Internet está compuesto por computadoras en todo el mundo. Cada una de estas computadoras está conectada por líneas telefónicas o cables … ¡o incluso conexiones inalámbricas!

Si su computadora está conectada a Internet, habla un idioma especial con otras computadoras llamadas TCP / IP. ¡Este idioma le permite obtener información, enviar mensajes a amigos, escuchar música, ver videos y visitar HDCON2018!

Para obtener una comprensión práctica de cómo funciona Internet, veamos el correo electrónico. Si escribe un correo electrónico a su amigo, su computadora, al igual que la oficina de correos, querrá saber dónde entregar el mensaje. Es por eso que proporciona una dirección de correo electrónico.

Su computadora utiliza la información en la dirección de correo electrónico para averiguar dónde enviar su mensaje. A diferencia de un teléfono, que transmite su voz, la computadora transmite su mensaje en el idioma de Internet.

Probablemente ya haya oído hablar de la World Wide Web. ¡Es posible que incluso se haya PREGUNTADO qué hacen las arañas en Internet! Afortunadamente, la “World Wide Web” no tiene nada que ver con nuestros amigos de ocho patas. La World Wide Web (WWW) es solo una parte de Internet que reúne fragmentos de información para que sean más fáciles de encontrar.

Supongamos que está escribiendo un informe sobre la historia de su ciudad natal. Te diriges a tu biblioteca pública para encontrar algunos libros de historia local. Imagine cuánto tiempo le llevaría encontrar la información que necesita si todos los libros de la biblioteca se arrojan en una pila gigante.

Afortunadamente, su biblioteca está organizada lógicamente en secciones, y cada sección está claramente etiquetada. Todo lo que necesita hacer es ir al área de no ficción, encontrar el estante de historia y ubicar la sección de historia local. En cuestión de minutos tiene acceso a la información que necesita.

Así es como funciona también la World Wide Web. En lugar de reunir toda la información en Internet en una pila electrónica, la World Wide Web crea enlaces entre información relacionada para ayudar a mantenerla organizada.

Regístrese hoy en # HDCON2018 para conocer más tecnologías web.

Aquí está la secuencia de pasos.

1. Cuando presiona enter en la barra de direcciones del navegador, se activa la función para realizar una solicitud “GET”. Esto se conoce como una solicitud HTTP.
2. Esta función solicita google.com a su puerta de enlace (es el enrutador al que va su cable de red detrás de su sistema)
3. Su enrutador realiza una solicitud al servidor DNS que está configurado para preguntar “Oye, dame la IP de google.com”. Dependiendo de la configuración, el enrutador podría estar solicitando el DNS de su ISP (la compañía que proporciona su conexión a Internet) o cualquier servidor DNS abierto. Estos servidores DNS son básicamente las guías telefónicas de Internet que asignan el nombre del sitio web a la dirección IP (que es equivalente a la dirección física de un lugar)
4. El DNS devuelve la IP de google (o uno de sus servidores) y el enrutador solicita al ISP que haga la solicitud GET al servidor.
5. El servidor decodifica la solicitud GET y, dado que el usuario solicita la página principal de Google, le devuelve el código HTML en el mismo formato HTTP. Esto se llama una respuesta HTTP.
6. El navegador que tenía un hilo para hacer la solicitud recupera la respuesta y, por lo tanto, comienza a “representar” el código HTML en su ventana.
7. Dado que el código HTML contiene enlaces a otras imágenes, etc., realiza varias solicitudes GET al mismo servidor (no tiene que consultar el DNS ya que ya conoce la ubicación del servidor de Google debido al “almacenamiento en caché”)

Y así es como ves que ocurre la carga y ves el sitio web de Google frente a ti. He dejado de lado muchos detalles intrincados, como la paquetización, el apretón de manos, el corte, la secuencia, el encuadre, el reensamblaje, etc., que ocurre en el medio. Estos son bastante técnicos y preocupan a cualquiera que tenga la intención de hacer una carrera en el dominio de redes.

También eche un vistazo a esto. Le ayudará a comprender mejor la web >> 20 cosas que aprendí sobre los navegadores y la web

Internet es un maravilloso mundo de números, bits, datos y todo.

Primero se generó la Web, solo 30 computadoras conectadas con un cable que te permite intercambiar datos. Que luego se acuñó como intranet. Luego, con la invención del adaptador inalámbrico, trataron de conectar la computadora que acuñaron como Web (aún se puede conectar con cables)

Ahora una persona Geniosa en el laboratorio de campana (no sabe su nombre) quería acceder a estos datos o archivos de la Web en su computadora personal. Aquí comenzó el viaje de internet

En primer lugar, se instalaron macro computadoras individuales llamadas servidores, llamados servidores de dominio. Luego se conectaron a que se instalaron unas pocas micro computadoras más llamadas servidores de nombres. . ahora esta persona en su computadora configuró una IP, y todas las otras computadoras también tienen IP.

Como es difícil recordar todos estos números o IPs, le dio nombres, esta ceremonia de entrega de nombres se llama DNS.

Ahora todas las IP de las computadoras macro tienen nombres como, com, in, edu, UK, etc. Todas las micro computadoras tienen nombres como Co,., Google, etc. Y WWW es la Web. También conocido como World Wide Web

Ahora este hombre ha creado una técnica, cuando buscamos http://WWW.Google.com primero buscará la dirección en la Web, luego la Web dirigirá al micro servidor (Computadora) Google y de Google obtendrá la dirección de servidor macro (computadora). Com. Una vez que obtenga la dirección de esa computadora con toda la parte, podrá acceder a los archivos desde esa computadora (servidor)

Así es como funciona Internet

Ahora por qué varía de país a país
Es porque si tiene un teléfono inteligente, funciona mejor que el teléfono ordinario, de manera similar en la India, los proveedores de servicios usan material y hardware (servidores) baratos, lo que hace que sea más lento, mientras que en el extranjero usan fibras ópticas o adaptadores de red de alta banda para obtener alta velocidad

Quienes administran Internet son personas que trabajan en centros de datos, algunos gobiernos, algunos privados, operan el flujo de Internet, son los conquistadores.

PD: en aras de la ilustración, utilicé servidores = computadoras, la única diferencia en ambos es con el hardware.

PD: los aspectos de contar historias aquí son solo para entender, son ficticios.

¿Cómo se usa INTERNET … desde dispositivos electrónicos … bien? Ahora, cómo estos dispositivos electrónicos obtienen potencia / energía … de las señales electrónicas (señales eléctricas).

1) En electrónica, una señal es una corriente eléctrica o campo electromagnético utilizado para transmitir datos de un lugar a otro. La forma más simple de señal es una corriente continua (CC) que se enciende y apaga; Este es el principio por el cual funcionó el telégrafo temprano. Las señales más complejas consisten en una corriente alterna (CA) o un portador electromagnético que contiene uno o más flujos de datos.

Los datos se superponen a una corriente u onda portadora mediante un proceso llamado modulación. La modulación de señal se puede realizar de dos formas principales: analógica y digital. En los últimos años, la modulación digital se ha vuelto más común, mientras que los métodos de modulación analógica se han utilizado cada vez menos. Sin embargo, todavía hay muchas señales analógicas y probablemente nunca se extinguirán por completo.

A excepción de las señales de CC, como el telégrafo y la banda base, todas las portadoras de señales tienen una frecuencia o frecuencias definibles. Las señales también tienen una propiedad llamada longitud de onda, que es inversamente proporcional a la frecuencia.

2) En algunos contextos de tecnología de la información, una señal es simplemente “lo que se envía o se recibe”, por lo que incluye tanto la portadora (ver 1) como los datos juntos.

Sistema de nombres de dominio:

Como usuario de Internet, lo que sabemos son los nombres de los sitios web. Pero, ¿qué sucede cuando escribes el nombre de dominio?
En el patio trasero todo sucede con ipaddress y paquetes de datos. Cualquier cosa que esté conectada a través de Internet debe tener una dirección IP en función de la cual se realizan las comunicaciones.
Cuando se conecta a internet, se asigna una dirección IP a su máquina.

La dirección IP es un sistema de números que tendrá cuatro números de 3 dígitos separados por (.) Punto. Cada parte puede tener un valor máximo de 255. Ejemplo: 192.167.11.222.

Esta dirección IP es asignada a su PC por su ISP (Proveedor de servicios de Internet). ISP es la compañía a la que le ha comprado el paquete de internet.

Para explicar en detalle, asumiremos que está escribiendo un sitio web, por ejemplo, XYZ.com en un navegador. El siguiente proceso tiene lugar uno por uno.
a) Su PC se pone en contacto con su servidor de nombres de ISP (por ejemplo: NS-A) y solicita cualquier detalle de la dirección IP de, supongamos xyz.com

Nombre del servidor
Cada ISP y los servidores (empresa de alojamiento) tendrán un servidor llamado servidor de nombres donde se realiza la asignación de la dirección IP al nombre de dominio.

b) NS-A se pone en contacto con los servidores raíz y obtiene la dirección del servidor .com TLD. Hay alrededor de 13 servidores raíz ubicados en diferentes partes del mundo. Dan la información de los servidores de nombres de TLD.
c) NS-B es el servidor de nombres que tiene información de dirección IP para xyz.com
d) Cada servidor de TLD (por ejemplo: .com, .net, .org, ..) tiene la información de todos los servidores de nombres de jerarquía inferior (por ejemplo, NS-B). Por lo tanto, el servidor .com TLD obtiene la dirección IP de hioxindia.com del NS-B al NS-A.
e) Ahora los datos de la solicitud (llamados como paquete) para los detalles requeridos se envían desde su PC con la ip de origen y la ip de destino (supose, xyz.com) a través de internet.
f) Los datos viajan a través de la red de internet y llegan a la ip de destino.
g) Allí se verifican los datos y se envían los detalles con su dirección IP como fuente y la dirección IP de nuestra PC como destino
h) Los datos viajan a través de la densa red de internet y llegan a usted.
Una vez que se obtiene la dirección IP de un sitio web de destino, permanecerá en la memoria caché durante un período de tiempo. Entonces, cuando se requieran los detalles del servidor de nombres, primero se buscará en la memoria caché. Se solicitará al servidor de nombres para obtener detalles solo en el caché que no contenga los detalles requeridos.

Internet funciona mediante la entrega de paquetes, que son pequeños fragmentos (20-1500 bytes) de datos. Uno a la vez. Pero haciéndolo increíblemente rápido.

El protocolo básico en la base de Internet se denomina Protocolo de Internet (IP) (espere …). La versión actual de este protocolo es la versión 4, por lo que con frecuencia se denomina IPv4. Los paquetes IPv4 usan una dirección que los ayuda a llegar a su destino. Cada dirección IPv4 tiene 32 bits de longitud y es única para ese host en Internet [con la excepción de las direcciones NAT y RFC 1918].

La dirección contiene la ubicación de su host, por lo que al mirar la dirección IP, los conmutadores en Internet (conocidos como enrutadores) pueden pasar el paquete de enrutador a enrutador al destino correcto.

Antes de que un host pueda enviar un paquete, necesita averiguar qué dirección usar. Por lo general, termina traduciendo un Nombre de dominio (por ejemplo, http://www.quora.com ) a esa dirección IP. Eso se coloca en el encabezado del paquete como la dirección de destino. Luego, el paquete se entrega a Internet, donde los enrutadores lo reenviarán al núcleo de Internet.

En el núcleo de Internet, los enrutadores propiedad de varios proveedores de servicios de Internet se coordinarán entre sí mediante el Protocolo de puerta de enlace fronterizo para intercambiar información de enrutamiento. Esto les ayuda a dirigir el tráfico de hosts de destino particulares a enrutadores particulares, ayudando a los paquetes a llegar a su destino final. Finalmente, los paquetes llegan allí, son recibidos, procesados ​​por el host de destino, y luego los paquetes se devuelven al remitente original simplemente invirtiendo todo el proceso.

“¿Cómo funciona el internet?”

Permítanme tratar de explicarlo de una manera muy simple. Ahora, lo que debe tener en cuenta aquí es que, Internet es muy complejo y hay muchas cosas que hacen que funcione de manera eficiente y podría extrañar algunos de ellos en el proceso de simplificarlo, pero esta es la esencia de cómo sucede realmente

¿Entonces, cómo funciona?

Digamos que abre su navegador y escribe google.com, el navegador lo pone en una carta en un sobre y lo envía a través de un cartero . Como cualquier cartero, este cartero también tiene que seguir ciertas reglas. Estas reglas son obligatorias si necesita comunicarse con Google. El objetivo final de su cartero es llegar a Google (o su sitio web objetivo) con su carta y entregarla sin ningún daño. Pero para llegar allí, hay algunos lugares donde el cartero debe ir primero para obtener ayuda. El primero de estos lugares es su proveedor de servicios de Internet (ISP). El ISP dirige a su cartero a uno de los servidores del Sistema de nombres de dominio (DNS). DNS es una oficina que contiene direcciones de sitios web. Hay muchos DNS y el trabajo de su ISP es guiar al cartero al DNS correcto. Postman entrega el sobre a DNS, DNS lo convierte a una dirección IP y comprueba la dirección IP en su directorio y le dice al cartero dónde se encuentra google.com. En el camino a google.com, hay muchas publicaciones en carteles para ayudar al cartero a llegar a google.com. El cartero sigue ese camino y entrega su carta. A cambio, después de leer el contenido de su carta, google.com envía su propio cartero o carteros con una (s) carta (s) en el sobre que responde a sus solicitudes (que puede ser cualquier cosa, por ejemplo: “¿Cómo hago una pizza?”). A estos nuevos carteros se les dice dónde está su letra en la secuencia. Al finalizar, las cartas están ordenadas en el orden correcto y puede acceder al sitio web.

En este ejemplo, carta es el contenido de su solicitud; nombre del sitio web, datos que proporciona, etc.

El sobre es encriptado para que nadie pueda ver lo que está enviando.

Postman es un protocolo como TCP / IP, UDP, etc.

Las publicaciones de signos en el camino a Google son enrutadores que utilizan algoritmos para determinar la mejor y más corta ruta para el cartero.

También publiqué esto en LinkedIn como un artículo “¿Cómo funciona Internet?”

Puede encontrarlo aquí: http://bit.ly/intwork

Ok, estoy tratando de describir lo que realmente sucede cuando escribes algo en un navegador de la forma más simple posible.

– Escribe Google en su navegador y el navegador busca caché.
– Si no se puede encontrar el caché, el navegador le preguntará a su sistema operativo la dirección IP de los servidores de Google.
– El sistema operativo ahora hará que un DNS busque la dirección IP de Google.
– Cuando se encuentra la dirección IP, el navegador la pasará al navegador.
– Ahora el navegador abrirá una conexión TCP (Protocolo de control de transferencia) al servidor de Google y enviará una solicitud HTTP a través de él.
– Al recibir la respuesta HTTP, el navegador puede cerrar la conexión TCP abierta o mantenerla conectada para otro propósito.
– El navegador verificará la respuesta del servidor de Google. Si se trata de una solicitud de redireccionamiento 3xx, solicitud exitosa 2xx, cliente 4xx o error del servidor 5xx.
El navegador manejará cada respuesta en consecuencia.
– Si el navegador descubrió que la respuesta de Google es almacenable en caché, se almacenará en la máquina para referencia futura.
– OK si su navegador encontró el caché mientras lo busca en el primer paso, simplemente intentará decodificar la respuesta.
– Entonces el navegador decidirá qué hacer con la respuesta y qué tipo de respuesta es (es un archivo de video, una imagen o un archivo HTML)
– Por fin, el navegador muestra la respuesta y ves la hermosa página de inicio de Google en tu pantalla, w

Cómo funciona Internet (una explicación simple)

Creo que es justo que la mayoría de nosotros no podamos imaginar cómo sería vivir sin Internet. ¿Recuerdas esa vez que dejaste caer tu iPhone en el baño y tuviste que vivir sin un teléfono conectado a Internet durante un par de días? Resistente, ¿verdad? (Sí, pensé que sí) Con Internet tan ubicuo como es, cuántos de ustedes realmente se han preguntado qué es Internet y cómo ¿funciona? Es algo de lo que me he preguntado y, aunque no prescribo conocer todos los detalles intrincados de cómo funciona este increíble sistema, espero poder proporcionar una analogía que nos lleve a la mayor parte del camino.

¿Que es la Internet?

Cuando hablamos de Internet, a lo que en realidad nos referimos es a una red interconectada de computadoras (por lo tanto, internet). Algunas de estas computadoras son servidores web , que son solo computadoras especializadas que contienen y sirven contenido de sus sitios web favoritos, y otras son solo los dispositivos cliente que usamos todos los días, como nuestras computadoras portátiles, tabletas y teléfonos móviles. Para facilitar esta discusión, eche un vistazo al siguiente dibujo que usaré para mi analogía de Internet:

Por ahora, ignoremos nuestros propios dispositivos conectados a Internet y centrémonos en esos servidores web. Imaginemos cada uno de estos servidores web como un edificio alto y que están conectados entre sí a través de carreteras y carreteras. Esta red de autopistas y carreteras (que está compuesta por cables de fibra óptica en todo el mundo) puede considerarse como Internet, y lo que viaja a lo largo de estas carreteras y carreteras son los datos . Al igual que los edificios físicos en la vida real tienen una dirección postal, cada uno de nuestros servidores web (que representa nuestros sitios web favoritos como ESPN: El líder mundial en deportes o Iniciar sesión o Registrarse) tiene una dirección única llamada dirección IP .

Ahora puede preguntar: “¿Qué hay de nosotros? ¿Cómo nos conectamos a Internet? ”Ahí es donde entran en juego nuestros proveedores de servicios de Internet (ISP). Puede imaginarlos como edificios especiales que permiten que los dispositivos de nuestros clientes se conecten a las carreteras y carreteras. Continuando con nuestra analogía, solo piense en cada uno de nuestros dispositivos conectados a Internet como una casa con un camino que conduce a los ISP. Y una vez que su casa esté conectada a Internet, ¡ya está listo!

¿Cómo funciona el internet?

Ahora que tenemos un sentido (muy) de alto nivel de lo que es Internet, ¿cómo funciona exactamente? Aquí es donde entra en juego tu navegador.

Su navegador es lo que llamamos una “aplicación cliente” y lo que esto simplemente significa es que es un programa que le permite hacer solicitudes a diferentes sitios web y responder a los datos que esos sitios web envían. Para explicar mejor cómo funciona esto, enumeraré algunos de los pasos necesarios para realizar una solicitud a ESPN: el líder mundial en deportes:

  1. De nuestra discusión anterior, ¿recuerda cómo dije que cada servidor web tiene su propia dirección IP única? Bueno, el servidor web para ESPN tiene su propia dirección IP, que descubrí es 199.181.33.61.
  2. Cuando escribe “http://espn.go.com” en su navegador, su navegador de alguna manera necesita saber que esta URL (es decir, localizador uniforme de recursos) en realidad significa la dirección IP 199.181.33.61. Entonces, lo que hace el navegador es que se pone en contacto con el DNS (servicio de nombre de dominio) y busca la dirección IP para esa url. Puedes pensar en el DNS como una guía telefónica (¿ni siquiera saben qué es esto?)
  3. Una vez que se recupera la dirección IP, su navegador intenta conectarse al servidor web abriendo una conexión de socket . Sin entrar en detalles, piense en esto mientras llama físicamente al edificio alto (es decir, el servidor web) y ve si todavía están abiertos. Si alguien responde, entonces sabes que está abierto y que estás conectado.
  4. Ahora que su navegador y el servidor tienen una conexión abierta entre sí, puede realizar su solicitud de un artículo específico sobre ESPN. Pero antes de que su solicitud pueda enviarse a través de Internet, debe seguir un conjunto de reglas que describen cómo se debe formatear la solicitud. Este conjunto de reglas se conoce como TCP / IP y el protocolo HTTP .
  5. Básicamente, piénselo de esta manera: para viajar a lo largo de las carreteras y caminos de Internet, cada solicitud realizada por su navegador y cada respuesta enviada por un servidor web deben primero dividirse en pequeños paquetes de datos. Puede pensar en su solicitud original como un mosaico de fotos, y una vez que se ha cortado, cada mosaico representa un paquete de datos. Además de contener los bits de datos binarios, cada mosaico también conoce la dirección IP a la que se supone que debe ir y cómo volver a ensamblarse una vez que todos los paquetes llegan a la dirección IP de destino.
  6. Volviendo a nuestro ejemplo de solicitar un artículo específico sobre ESPN, la solicitud del artículo se corta en paquetes y se envía a lo largo de la carretera y las carreteras. En el camino, hay enrutadores (y otros dispositivos similares) que básicamente actúan como policías de tráfico y dirigen los paquetes a la ruta correcta que conduce a la dirección IP.
  7. Una vez que todos los paquetes de datos llegan al servidor web, el servidor web buscará el artículo específico, similar a cómo buscaría un archivo en un cajón del gabinete. Una vez que se ha localizado el archivo, el servidor web dividirá la respuesta en paquetes de datos nuevamente y los enviará de nuevo a su navegador.
  8. Finalmente, cuando todos los paquetes de datos vuelvan a su navegador, su navegador volverá a ensamblar todos los paquetes en los archivos HTML, CSS, JavaScript e imagen que representan el artículo. Y una vez que se procesen estos archivos, verá mágicamente el artículo que se muestra en la pantalla.

En pocas palabras, eso es lo que es Internet y cómo funciona. Y aunque he pasado por alto MUCHOS detalles de cómo funciona este complejo sistema, creo que para la mayoría de nosotros, tener esta comprensión básica de lo que sucede detrás de escena desmitificará parte de la magia y nos ayudará a apreciar el internet que ‘ Hemos llegado a confiar en, básicamente, todo.

Internet, el que cambió la vida de todos hoy. Si estás viendo este blog significa, entonces estás conectado a internet. Gracias a internet, porque nos ayuda a usted y a mí a conectarnos. Entonces, usted está aquí por una de las dos razones, ya sea que quiera saber cómo funciona Internet o simplemente por casualidad. De todos modos, estoy seguro de que comprenderá cómo funciona Internet cuando termine este.

¿Qué hace el navegador?

Comenzaré con usted, porque está viendo este blog desde su PC o su teléfono móvil. Su navegador es una aplicación que convierte un código en un formato adecuado y se lo presenta. Hay muchos tipos de lenguajes de codificación disponibles para una página web. Si te has encontrado con esta palabra HTML, entonces sabes algo sobre la web. Sí, HTML es uno de los lenguajes de programación que se puede usar para crear sitios web. Hay muchos pero el más básico es HTML. Supongamos que mi sitio web se crea utilizando HTML. Entonces, se verá algo así,

código fuente de muestra del sitio web

Su navegador lee estos códigos y le muestra solo el contenido. ¡Qué fácil es …! Si no lo hace, todos nos volveremos locos cuando intentemos leer el contenido. También puede intentar ver el código real de mi sitio web haciendo clic derecho en cualquier lugar de mi sitio web y haciendo clic en “Ver código fuente de la página” o simplemente usando la palabra clave “CTRL + U” (para usuarios de Chrome). Aparecerá una nueva pestaña que contiene los códigos. Ahora, te darás cuenta del valor de tu navegador, ¿no?

¿Cómo te conectas a Internet?

Entonces, ahora sabes lo que hace tu navegador, pero ¿cómo te llegó mi página …? Sí, obviamente a través de internet. Internet es una gran piscina. Por lo tanto, debe necesitar acceso para nadar en esa piscina. Ese acceso lo proporciona su proveedor de servicios de Internet (ISP). Te cobran una tarifa por conectarte a internet, ya que implica mucho equipo especial y mano de obra. Por lo tanto, no piense que lo que paga por su compañía de red móvil va a sitios web como google, facebook, etc. El dinero que paga es para ISP, que se utiliza para conectarse a Internet.

Nuevamente la misma pregunta, ¿cómo te llegó mi página …? Sí, solo a través de Internet, pero si todavía va un paso hacia abajo, su navegador ha cargado mi dirección web o mi dirección IP (Protocolo de Internet). Es posible que haya hecho clic en cualquier enlace a mi sitio web o que haya escrito mi dirección en la URL (Localizador Uniforme de Recursos), y así es como está viendo este blog. Recuerde, cada sitio web tiene su propia dirección única. El mío es el blogger universitario .

¿Dónde está mi sitio web?

Entonces, ¿dónde está esta página en internet? No está en mi casa ni en mi PC. Porque si quiero tenerlo en mi PC, entonces necesito configurar enormes cables de datos, conexión de datos de alta velocidad y todas las demás cosas técnicas que no conozco. ¿Entonces dónde está? He colocado en un proveedor de servicios de alojamiento web. Hay muchos, yo uso GoDaddy en la actualidad. Web Hosting es similar a alquilar una casa, es posible que no tenga suficiente dinero para construir su propia casa, pero puede obtener una habitación para alquilar. Esto es lo que he hecho. Tengo un lugar para alquilar en GoDaddy, tienen todo lo necesario para poner mi contenido en línea. Es simple, sabrá si visita mis otros blogs. El siguiente paso es obtener una dirección para mí, en realidad este no es el siguiente paso, puedes hacer lo contrario también. ¡La dirección es la que te hace llegar a mi página, si no lo sabes, entonces no puedes acceder a mi página directamente … !!!

Entonces, ¿qué más, se acabó …? No, no es. Cada sitio web tiene una dirección única como dije. Entonces, cuando escribe una dirección (URL) en su navegador, esa dirección se envía como un comando al servidor. El servidor intentará localizar la dirección en Internet y luego la tomará y se la enviará de vuelta. Los servidores son proporcionados por las empresas de hosting. Estoy diciendo que la empresa de hosting deja en claro que la empresa tiene todos los servicios necesarios para un sitio web. Desde obtener el nombre de dominio hasta vender un producto en línea, puede obtener de ellos. Espero que ahora tenga una idea de cómo funcionan Internet y los sitios web.

Por favor, visite nuestro sitio web para más detalles

http://collegeblogger.in/know-ho

A2A, ¿Cómo funciona Internet?

En su forma más simple, Internet es un sistema de telecomunicaciones que permite que las computadoras y otros dispositivos se comuniquen entre sí utilizando el mismo lenguaje de comunicaciones, un protocolo llamado TCP / IP, protocolo de control de transmisión / protocolo de Internet.

Podría dar una larga conferencia sobre todos los detalles y detalles técnicos, pero lo que hace posible Internet es el lenguaje común, los protocolos, que hablan las computadoras. TCP / IP se ha extendido a través de generaciones de computadoras, utilizando diferentes sistemas operativos.

No importa si los humanos que usan las computadoras se comunican en inglés, francés, alemán o chino, las computadoras se comunican en TCP / IP. Eso es bastante sorprendente si lo piensas. ¿Cuántas otras cosas se hacen exactamente de la misma manera, en todo el mundo?

Esa es la respuesta más rápida y fácil que daría sin saber más sobre la persona que hace la pregunta. Para entrar en más detalles sobre cómo TCP / IP realmente depende de la audiencia con la que está hablando. Entrar en una explicación detallada de TCP / IP y la conmutación de paquetes, como otros han intentado responder a esta pregunta, puede ser confuso.

Para una persona no técnica, para comprender realmente cómo funciona Internet, miraría algunas de las preguntas aquí en Quora sobre la historia de Internet y cómo evolucionó. El Internet que conocemos hoy no se desarrolló a partir de una sola red que simplemente creció y creció, fue una evolución de muchas herramientas de comunicación y tecnología diferentes que se unieron.

Para alguien que está aprendiendo tecnología y quiere entender cómo funciona Internet, vería el artículo de JCR Licklider “Man-Computer Symbiosis”, publicado en 1960, que proporciona una guía para décadas de investigación en computación a seguir. Seguiría eso con el trabajo de Paul Baran, quien desarrolló la conmutación de paquetes en la década de 1960. El trabajo de geeks como Licklider y Baran en la década de 1960 creó la base para el trabajo de Vinton Cerf y Bob Kahn, quienes desarrollaron TCP / IP en la década de 1970.

No hay una red troncal de Internet, así es como funciona Internet:

  1. You request a web page or an email from Microsoft Outlook .
  2. Your local provider routes your request over their copper or fiber if you have fttp/c to their msan/exchange
  3. At the exchange your request goes onto a backhaul network to an IP-X (internet exchange)
  4. At the IP-X your provider “peers” with other providers. Some peers will demand payment for transport, some will do it for free (like facebook or google), some will exchange packets on a swap basis (for example “I will take as many packets as you send”). Your provider has to figure this out, but there is no free lunch people do not accept peering for nothing – Facebook and Google appear to, but in fact they are keen to have a request from you because it is what their business model (advertising) needs. The peers will advertise a route to the destination you want, the shorter the route the more likely it is to be picked. Facebook (for example) will advertise the shortest possible route to facebook (no surprises) and therefore will get the packets for facebook! On the other hand they will not be advertising any routes to, for example anotherfacebookclone. Other peers may propagate routes from other providers that they have peered with else where, providing (in aggregate) a route to anywhere from everywhere – the internet if you like. Some providers will offer “transit”, and advertise many routes to geographically distant networks. This class of provider is often known as a “backbone”, as they exist to connect other networks, a prime example would be Level 3.
  5. Your request goes to the service provider you asked it to, the server there sorts out a response and sends it back.
  6. The service provider sends the packets either over their local providers copper/fiber access and backhaul or over their private network (if they are Amazon, google ect ect)
  7. Your local provider peers onto that network, or a network that peers onto it, or a network that peers onto that one (on and on)
  8. Your local provider routes the packets to you over their backhaul, to the exchange/msan and the over the copper / fibre to your house.

So – it’s a big happy, mostly fair, a bit unjust, but sort of ok soup.

The bit which is not soup, is the access network, the local bit to your house, which requires lots of trenches to be dug and a big investment to build – which is economically … problematic.

Question is perhaps worded badly. There are numerous layers at work on the “Internet”, each more complex than the last!

To simplify it somewhat, I will assume you mean how does it work when, say you enter http://quora.com into the browser?

The first thing that happens is that the browser will do a DNS lookup. So it will ask the DNS server (usually your ISP, or on the network) what the IP address of http://quora.com is. It will return the IP address: 54.84.216.68. The browser will send a GET HTTP request to this address. to get the web page. the Server at quora will receive the request, processes it and return its HTML page.

Slightly below that is the IP layer. So on your device it will break up the GET request into packets, each packet has a header that contains where it is going and where it came from etc etc. The packets go from switch to switch until it reaches the quora server network card. which will rebuild the packets into the request and pass it to the HTTP server. It will do the same to send back the request to your device.

The “g” key is pressed

The following sections explains all about the physical keyboard and the OS interrupts. But, a whole lot happens after that which isn’t explained. When you just press “g” the browser receives the event and the entire auto-complete machinery kicks into high gear. Depending on your browser’s algorithm and if you are in private/incognito mode or not various suggestions will be presented to you in the dropbox below the URL bar. Most of these algorithms prioritize results based on search history and bookmarks. You are going to type “Google” so none of it matters, but a lot of code will run before you get there and the suggestions will be refined with each key press. It may even suggest “Google” before you type it.

The “enter” key bottoms out

To pick a zero point, let’s choose the Enter key on the keyboard hitting the bottom of its range. At this point, an electrical circuit specific to the enter key is closed (either directly or capacitively). This allows a small amount of current to flow into the logic circuitry of the keyboard, which scans the state of each key switch, debounces the electrical noise of the rapid intermittent closure of the switch, and converts it to a keycode integer, in this case 13. The keyboard controller then encodes the keycode for transport to the computer. This is now almost universally over a Universal Serial Bus (USB) or Bluetooth connection, but historically has been over PS/2 or ADB connections.

In the case of the USB keyboard:

  • The USB circuitry of the keyboard is powered by the 5V supply provided over pin 1 from the computer’s USB host controller.
  • The keycode generated is stored by internal keyboard circuitry memory in a register called “endpoint”.
  • The host USB controller polls that “endpoint” every ~10ms (minimum value declared by the keyboard), so it gets the keycode value stored on it.
  • This value goes to the USB SIE (Serial Interface Engine) to be converted in one or more USB packets that follows the low level USB protocol.
  • Those packets are sent by a differential electrical signal over D+ and D- pins (the middle 2) at a maximum speed of 1.5 Mb/s, as an HID (Human Interface Device) device is always declared to be a “low speed device” (USB 2.0 compliance).
  • This serial signal is then decoded at the computer’s host USB controller, and interpreted by the computer’s Human Interface Device (HID) universal keyboard device driver. The value of the key is then passed into the operating system’s hardware abstraction layer.

In the case of Virtual Keyboard (as in touch screen devices):

  • When the user puts their finger on a modern capacitive touch screen, a tiny amount of current gets transferred to the finger. This completes the circuit through the electrostatic field of the conductive layer and creates a voltage drop at that point on the screen. The screen controller then raises an interrupt reporting the coordinate of the key press.
  • Then the mobile OS notifies the current focused application of a press event in one of its GUI elements (which now is the virtual keyboard application buttons).
  • The virtual keyboard can now raise a software interrupt for sending a ‘key pressed’ message back to the OS.
  • This interrupt notifies the current focused application of a ‘key pressed’ event.

Interrupt fires [NOT for USB keyboards]

The keyboard sends signals on its interrupt request line (IRQ), which is mapped to an interrupt vector (integer) by the interrupt controller. The CPU uses the Interrupt Descriptor Table (IDT) to map the interrupt vectors to functions ( interrupt handlers ) which are supplied by the kernel. When an interrupt arrives, the CPU indexes the IDT with the interrupt vector and runs the appropriate handler. Thus, the kernel is entered.

(On Windows) A WM_KEYDOWN message is sent to the app

The HID transport passes the key down event to the KBDHID.sys driver which converts the HID usage into a scancode. In this case the scan code is VK_RETURN ( 0x0D ). The KBDHID.sys driver interfaces with the KBDCLASS.sys (keyboard class driver). This driver is responsible for handling all keyboard and keypad input in a secure manner. It then calls into Win32K.sys (after potentially passing the message through 3rd party keyboard filters that are installed). This all happens in kernel mode.

Win32K.sys figures out what window is the active window through the GetForegroundWindow() API. This API provides the window handle of the browser’s address box. The main Windows “message pump” then calls SendMessage(hWnd, WM_KEYDOWN, VK_RETURN, lParam) . lParam is a bitmask that indicates further information about the keypress: repeat count (0 in this case), the actual scan code (can be OEM dependent, but generally wouldn’t be for VK_RETURN ), whether extended keys (eg alt, shift, ctrl) were also pressed (they weren’t), and some other state.

The Windows SendMessage API is a straightforward function that adds the message to a queue for the particular window handle ( hWnd ). Later, the main message processing function (called a WindowProc ) assigned to the hWnd is called in order to process each message in the queue.

The window ( hWnd ) that is active is actually an edit control and the WindowProc in this case has a message handler for WM_KEYDOWN messages. This code looks within the 3rd parameter that was passed to SendMessage ( wParam ) and, because it is VK_RETURN knows the user has hit the ENTER key.

(On OS X) A KeyDown NSEvent is sent to the app

The interrupt signal triggers an interrupt event in the I/O Kit kext keyboard driver. The driver translates the signal into a key code which is passed to the OS X WindowServer process. Resultantly, the WindowServer dispatches an event to any appropriate (eg active or listening) applications through their Mach port where it is placed into an event queue. Events can then be read from this queue by threads with sufficient privileges calling the mach_ipc_dispatch function. This most commonly occurs through, and is handled by, an NSApplication main event loop, via an NSEvent of NSEventTypeKeyDown .

(On GNU/Linux) the Xorg server listens for keycodes

When a graphical X server is used, X will use the generic event driver evdev to acquire the keypress. A re-mapping of keycodes to scancodes is made with X server specific keymaps and rules. When the scancode mapping of the key pressed is complete, the X server sends the character to the window manager (DWM, metacity, i3, etc), so the window manager in turn sends the character to the focused window. The graphical API of the window that receives the character prints the appropriate font symbol in the appropriate focused field.

Parse URL

  • The browser now has the following information contained in the URL (Uniform Resource Locator): Protocol “http”Use ‘Hyper Text Transfer Protocol’ Resource “/”Retrieve main (index) page

Is it a URL or a search term?

When no protocol or valid domain name is given the browser proceeds to feed the text given in the address box to the browser’s default web search engine. In many cases the URL has a special piece of text appended to it to tell the search engine that it came from a particular browser’s URL bar.

Convert non-ASCII Unicode characters in hostname

  • The browser checks the hostname for characters that are not in az , AZ , 0-9 , - , or . .
  • Since the hostname is google.com there won’t be any, but if there were the browser would apply Punycode encoding to the hostname portion of the URL.

Check HSTS list

  • The browser checks its “preloaded HSTS (HTTP Strict Transport Security)” list. This is a list of websites that have requested to be contacted via HTTPS only.
  • If the website is in the list, the browser sends its request via HTTPS instead of HTTP. Otherwise, the initial request is sent via HTTP. (Note that a website can still use the HSTS policy without being in the HSTS list. The first HTTP request to the website by a user will receive a response requesting that the user only send HTTPS requests. However, this single HTTP request could potentially leave the user vulnerable to adowngrade attack, which is why the HSTS list is included in modern web browsers.)

DNS lookup

  • Browser checks if the domain is in its cache. (to see the DNS Cache in Chrome, go to http://chrome://net-internals/#dns ).
  • If not found, the browser calls gethostbyname library function (varies by OS) to do the lookup.
  • gethostbyname checks if the hostname can be resolved by reference in the local hosts file (whose location varies by OS) before trying to resolve the hostname through DNS.
  • If gethostbyname does not have it cached nor can find it in the hosts file then it makes a request to the DNS server configured in the network stack. This is typically the local router or the ISP’s caching DNS server.
  • If the DNS server is on the same subnet the network library follows the ARP process below for the DNS server.
  • If the DNS server is on a different subnet, the network library follows the ARP process below for the default gateway IP.

ARP process

In order to send an ARP (Address Resolution Protocol) broadcast the network stack library needs the target IP address to look up. It also needs to know the MAC address of the interface it will use to send out the ARP broadcast.

The ARP cache is first checked for an ARP entry for our target IP. If it is in the cache, the library function returns the result: Target IP = MAC.

If the entry is not in the ARP cache:

  • The route table is looked up, to see if the Target IP address is on any of the subnets on the local route table. If it is, the library uses the interface associated with that subnet. If it is not, the library uses the interface that has the subnet of our default gateway.
  • The MAC address of the selected network interface is looked up.
  • The network library sends a Layer 2 (data link layer of the OSI model) ARP request:

ARP Request :

Sender MAC: interface:mac:address:here
Sender IP: interface.ip.goes.here
Target MAC: FF:FF:FF:FF:FF:FF (Broadcast)
Target IP: target.ip.goes.here

Depending on what type of hardware is between the computer and the router:

Directly connected:

  • If the computer is directly connected to the router the router responds with an ARP Reply (see below)

Hub:

  • If the computer is connected to a hub, the hub will broadcast the ARP request out all other ports. If the router is connected on the same “wire”, it will respond with an ARP Reply (see below).

Switch:

  • If the computer is connected to a switch, the switch will check its local CAM/MAC table to see which port has the MAC address we are looking for. If the switch has no entry for the MAC address it will rebroadcast the ARP request to all other ports.
  • If the switch has an entry in the MAC/CAM table it will send the ARP request to the port that has the MAC address we are looking for.
  • If the router is on the same “wire”, it will respond with an ARP Reply (see below)

ARP Reply :

Sender MAC: target:mac:address:here
Sender IP: target.ip.goes.here
Target MAC: interface:mac:address:here
Target IP: interface.ip.goes.here

Now that the network library has the IP address of either our DNS server or the default gateway it can resume its DNS process:

  • Port 53 is opened to send a UDP request to DNS server (if the response size is too large, TCP will be used instead).
  • If the local/ISP DNS server does not have it, then a recursive search is requested and that flows up the list of DNS servers until the SOA is reached, and if found an answer is returned.

Opening of a socket

Once the browser receives the IP address of the destination server, it takes that and the given port number from the URL (the HTTP protocol defaults to port 80, and HTTPS to port 443), and makes a call to the system library function named socket and requests a TCP socket stream – AF_INET/AF_INET6 and SOCK_STREAM .

  • This request is first passed to the Transport Layer where a TCP segment is crafted. The destination port is added to the header, and a source port is chosen from within the kernel’s dynamic port range (ip_local_port_range in Linux).
  • This segment is sent to the Network Layer, which wraps an additional IP header. The IP address of the destination server as well as that of the current machine is inserted to form a packet.
  • The packet next arrives at the Link Layer. A frame header is added that includes the MAC address of the machine’s NIC as well as the MAC address of the gateway (local router). As before, if the kernel does not know the MAC address of the gateway, it must broadcast an ARP query to find it.

At this point the packet is ready to be transmitted through either:

  • Ethernet
  • WiFi
  • Cellular data network

For most home or small business Internet connections the packet will pass from your computer, possibly through a local network, and then through a modem (MOdulator/DEModulator) which converts digital 1’s and 0’s into an analog signal suitable for transmission over telephone, cable, or wireless telephony connections. On the other end of the connection is another modem which converts the analog signal back into digital data to be processed by the next network node where the from and to addresses would be analyzed further.

Most larger businesses and some newer residential connections will have fiber or direct Ethernet connections in which case the data remains digital and is passed directly to the next network node for processing.

Eventually, the packet will reach the router managing the local subnet. From there, it will continue to travel to the autonomous system’s (AS) border routers, other ASes, and finally to the destination server. Each router along the way extracts the destination address from the IP header and routes it to the appropriate next hop. The time to live (TTL) field in the IP header is decremented by one for each router that passes. The packet will be dropped if the TTL field reaches zero or if the current router has no space in its queue (perhaps due to network congestion).

This send and receive happens multiple times following the TCP connection flow:

  • Client chooses an initial sequence number (ISN) and sends the packet to the server with the SYN bit set to indicate it is setting the ISN
  • Server receives SYN and if it’s in an agreeable mood:Server chooses its own initial sequence numberServer sets SYN to indicate it is choosing its ISNServer copies the (client ISN +1) to its ACK field and adds the ACK flag to indicate it is acknowledging receipt of the first packet
  • Client acknowledges the connection by sending a packet:Increases its own sequence numberIncreases the receiver acknowledgment numberSets ACK field
  • Data is transferred as follows:As one side sends N data bytes, it increases its SEQ by that numberWhen the other side acknowledges receipt of that packet (or a string of packets), it sends an ACK packet with the ACK value equal to the last received sequence from the other
  • To close the connection:The closer sends a FIN packetThe other sides ACKs the FIN packet and sends its own FINThe closer acknowledges the other side’s FIN with an ACK

TLS handshake

  • The client computer sends a ClientHello message to the server with its Transport Layer Security (TLS) version, list of cipher algorithms and compression methods available.
  • The server replies with a ServerHello message to the client with the TLS version, selected cipher, selected compression methods and the server’s public certificate signed by a CA (Certificate Authority). The certificate contains a public key that will be used by the client to encrypt the rest of the handshake until a symmetric key can be agreed upon.
  • The client verifies the server digital certificate against its list of trusted CAs. If trust can be established based on the CA, the client generates a string of pseudo-random bytes and encrypts this with the server’s public key. These random bytes can be used to determine the symmetric key.
  • The server decrypts the random bytes using its private key and uses these bytes to generate its own copy of the symmetric master key.
  • The client sends a Finished message to the server, encrypting a hash of the transmission up to this point with the symmetric key.
  • The server generates its own hash, and then decrypts the client-sent hash to verify that it matches. If it does, it sends its own Finished message to the client, also encrypted with the symmetric key.
  • From now on the TLS session transmits the application (HTTP) data encrypted with the agreed symmetric key.

HTTP protocol

If the web browser used was written by Google, instead of sending an HTTP request to retrieve the page, it will send a request to try and negotiate with the server an “upgrade” from HTTP to the SPDY protocol.

If the client is using the HTTP protocol and does not support SPDY, it sends a request to the server of the form:

GET / HTTP/1.1
Host: google.com
Conexión: cerrar
[other headers]

where [other headers] refers to a series of colon-separated key-value pairs formatted as per the HTTP specification and separated by single new lines. (This assumes the web browser being used doesn’t have any bugs violating the HTTP spec. This also assumes that the web browser is using HTTP/1.1 , otherwise it may not include the Host header in the request and the version specified in the GET request will either be HTTP/1.0 or HTTP/0.9 .)

HTTP/1.1 defines the “close” connection option for the sender to signal that the connection will be closed after completion of the response. Por ejemplo,

Conexión: cerrar

HTTP/1.1 applications that do not support persistent connections MUST include the “close” connection option in every message.

After sending the request and headers, the web browser sends a single blank newline to the server indicating that the content of the request is done.

The server responds with a response code denoting the status of the request and responds with a response of the form:

200 OK
[response headers]

Followed by a single newline, and then sends a payload of the HTML content of www.google.com . The server may then either close the connection, or if headers sent by the client requested it, keep the connection open to be reused for further requests.

If the HTTP headers sent by the web browser included sufficient information for the web server to determine if the version of the file cached by the web browser has been unmodified since the last retrieval (ie. if the web browser included an ETag header), it may instead respond with a request of the form:

304 Not Modified
[response headers]

and no payload, and the web browser instead retrieves the HTML from its cache.

After parsing the HTML, the web browser (and server) repeats this process for every resource (image, CSS, favicon.ico, etc) referenced by the HTML page, except instead of GET / HTTP/1.1 the request will be GET /$(URL relative to www.google.com) HTTP/1.1 .

If the HTML referenced a resource on a different domain than www.google.com , the web browser goes back to the steps involved in resolving the other domain, and follows all steps up to this point for that domain. The Host header in the request will be set to the appropriate server name instead of google.com .

HTTP Server Request Handle

The HTTPD (HTTP Daemon) server is the one handling the requests/responses on the server side. The most common HTTPD servers are Apache or nginx for Linux and IIS for Windows.

  • The HTTPD (HTTP Daemon) receives the request.
  • The server breaks down the request to the following parameters:HTTP Request Method (either GET , HEAD , POST , PUT , DELETE , CONNECT , OPTIONS , or TRACE ). In the case of a URL entered directly into the address bar, this will be GET .Domain, in this case – Google.Requested path/page, in this case – / (as no specific path/page was requested, / is the default path).
  • The server verifies that there is a Virtual Host configured on the server that corresponds with Google.
  • The server verifies that Google can accept GET requests.
  • The server verifies that the client is allowed to use this method (by IP, authentication, etc.).
  • If the server has a rewrite module installed (like mod_rewrite for Apache or URL Rewrite for IIS), it tries to match the request against one of the configured rules. If a matching rule is found, the server uses that rule to rewrite the request.
  • The server goes to pull the content that corresponds with the request, in our case it will fall back to the index file, as “/” is the main file (some cases can override this, but this is the most common method).
  • The server parses the file according to the handler. If Google is running on PHP, the server uses PHP to interpret the index file, and streams the output to the client.

Behind the scenes of the Browser

Once the server supplies the resources (HTML, CSS, JS, images, etc.) to the browser it undergoes the below process:

  • Parsing – HTML, CSS, JS
  • Rendering – Construct DOM Tree → Render Tree → Layout of Render Tree → Painting the render tree

Browser

The browser’s functionality is to present the web resource you choose, by requesting it from the server and displaying it in the browser window. The resource is usually an HTML document, but may also be a PDF, image, or some other type of content. The location of the resource is specified by the user using a URI (Uniform Resource Identifier).

The way the browser interprets and displays HTML files is specified in the HTML and CSS specifications. These specifications are maintained by the W3C (World Wide Web Consortium) organization, which is the standards organization for the web.

Browser user interfaces have a lot in common with each other. Among the common user interface elements are:

  • An address bar for inserting a URI
  • Back and forward buttons
  • Bookmarking options
  • Refresh and stop buttons for refreshing or stopping the loading of current documents
  • Home button that takes you to your home page

Browser High Level Structure

The components of the browsers are:

  • User interface: The user interface includes the address bar, back/forward button, bookmarking menu, etc. Every part of the browser display except the window where you see the requested page.
  • Browser engine: The browser engine marshals actions between the UI and the rendering engine.
  • Rendering engine: The rendering engine is responsible for displaying requested content. For example if the requested content is HTML, the rendering engine parses HTML and CSS, and displays the parsed content on the screen.
  • Networking: The networking handles network calls such as HTTP requests, using different implementations for different platforms behind a platform-independent interface.
  • UI backend: The UI backend is used for drawing basic widgets like combo boxes and windows. This backend exposes a generic interface that is not platform specific. Underneath it uses operating system user interface methods.
  • JavaScript engine: The JavaScript engine is used to parse and execute JavaScript code.
  • Data storage: The data storage is a persistence layer. The browser may need to save all sorts of data locally, such as cookies. Browsers also support storage mechanisms such as localStorage, IndexedDB, WebSQL and FileSystem.

HTML parsing

The rendering engine starts getting the contents of the requested document from the networking layer. This will usually be done in 8kB chunks.

The primary job of HTML parser to parse the HTML markup into a parse tree.

The output tree (the “parse tree”) is a tree of DOM element and attribute nodes. DOM is short for Document Object Model. It is the object presentation of the HTML document and the interface of HTML elements to the outside world like JavaScript. The root of the tree is the “Document” object. Prior of any manipulation via scripting, the DOM has an almost one-to-one relation to the markup.

The parsing algorithm

HTML cannot be parsed using the regular top-down or bottom-up parsers.

The reasons are:

  • The forgiving nature of the language.
  • The fact that browsers have traditional error tolerance to support well known cases of invalid HTML.
  • The parsing process is reentrant. For other languages, the source doesn’t change during parsing, but in HTML, dynamic code (such as script elements containing document.write() calls) can add extra tokens, so the parsing process actually modifies the input.

Unable to use the regular parsing techniques, the browser utilizes a custom parser for parsing HTML. The parsing algorithm is described in detail by the HTML5 specification.

The algorithm consists of two stages: tokenization and tree construction.

Actions when the parsing is finished

The browser begins fetching external resources linked to the page (CSS, images, JavaScript files, etc.).

At this stage the browser marks the document as interactive and starts parsing scripts that are in “deferred” mode: those that should be executed after the document is parsed. The document state is set to “complete” and a “load” event is fired.

Note there is never an “Invalid Syntax” error on an HTML page. Browsers fix any invalid content and go on.

CSS interpretation

  • Parse CSS files,

    tag contents, and style attribute values using "CSS lexical and syntax grammar"

  • Each CSS file is parsed into a StyleSheet object , where each object contains CSS rules with selectors and objects corresponding CSS grammar.
  • A CSS parser can be top-down or bottom-up when a specific parser generator is used.

Page Rendering

  • Create a 'Frame Tree' or 'Render Tree' by traversing the DOM nodes, and calculating the CSS style values for each node.
  • Calculate the preferred width of each node in the 'Frame Tree' bottom up by summing the preferred width of the child nodes and the node's horizontal margins, borders, and padding.
  • Calculate the actual width of each node top-down by allocating each node's available width to its children.
  • Calculate the height of each node bottom-up by applying text wrapping and summing the child node heights and the node's margins, borders, and padding.
  • Calculate the coordinates of each node using the information calculated above.
  • More complicated steps are taken when elements are floated , positioned absolutely or relatively , or other complex features are used. Seehttp://dev.w3.org/csswg/css2/ and http://www.w3.org/Style/CSS/curr …for more details.
  • Create layers to describe which parts of the page can be animated as a group without being re-rasterized. Each frame/render object is assigned to a layer.
  • Textures are allocated for each layer of the page.
  • The frame/render objects for each layer are traversed and drawing commands are executed for their respective layer. This may be rasterized by the CPU or drawn on the GPU directly using D2D/SkiaGL.
  • All of the above steps may reuse calculated values from the last time the webpage was rendered, so that incremental changes require less work.
  • The page layers are sent to the compositing process where they are combined with layers for other visible content like the browser chrome, iframes and addon panels.
  • Final layer positions are computed and the composite commands are issued via Direct3D/OpenGL. The GPU command buffer(s) are flushed to the GPU for asynchronous rendering and the frame is sent to the window server.

GPU Rendering

  • During the rendering process the graphical computing layers can use general purpose CPU or the graphical processor GPU as well.
  • When using GPU for graphical rendering computations the graphical software layers split the task into multiple pieces, so it can take advantage of GPU massive parallelism for float point calculations required for the rendering process.

Window Server

Post-rendering and user-induced execution

After rendering has completed, the browser executes JavaScript code as a result of some timing mechanism (such as a Google Doodle animation) or user interaction (typing a query into the search box and receiving suggestions). Plugins such as Flash or Java may execute as well, although not at this time on the Google homepage. Scripts can cause additional network requests to be performed, as well as modify the page or its layout, causing another round of page rendering and painting.

SOURCE: Github

The internet is a net, i mean contless nodes connect with each other.
How can they connect/communicate with each other ? they have common machine language: protocol (0|1,tcp/ip,ssl,sctp,etc. transport layer or application layer,whatever).
Now suppose you are in USA as a client, me in China as a server, and a node in Japan between us as a routing helper,forwarding data that we want to give or fetch.
The role of server or client is not fixed .You have resources that others need, you can be a server unless you learned the common language (installed that protocol).

Just now you requested a file named file.pdf lives on my server called robert.server. Wait ,how do you forge that request ? You may have clicked a (http)link on my
website pointing to http:// robert.server /file.pdf using you opera(chrome/ie/android) browser. The browser now acts as an agent of you send this request from your pc(chromebook/pad/mobile) to the outside world reaching to me.

Once the request is made, a dns lookup is fullfilled, finding out where the server is. As here,suppose robert.server is 58.61.47.180,an ip belongs to Chinanet Shenzhen City.

Now begin a streamed line as the OSI model defines:
1. the request is translated into rawbit stream by the nic.
2.the layer 2 device(maybe a switch) will check weather robert.server is in the same network(ie,LAN) with you. No ? forworded the request data to the layer 3
3.the layer3 device,usually a routing machine that have a routing table knows how to reach a centain outside node.The table here tell you that you MAY (not have to) go through a japan node to reach me.
we say the internet is flat and not any node is important, because if the japan node collapsed or is blocked, you can even reach me through a node in south africa (crazy but its true)(but a premise your isp have to do)
4. can you express yourself in one breath ? what if you drunk too much and lost your words ? that’s exactly the layer 4 protocol deals with.
5/6 . What else you want from the server after this file.pdf ? are u and the server are close friends and dont wan’t the others listen what you talked ? the conversation and presentation layer solve these problems(not totally secure).
7. the server get your request data and reply you requested file.pdf .

ps: i choose to ignore some aspects, because the mainframe above may better help to understand the internet relays, also i don’t have the ability to illustrate the internet with details.
And forgive my poor English.

Using your computer, you can access information (text, pics, vids) stored on other computers in other parts of the world by connecting to them in the right way, just like houses and businesses are all connected using road networks.

Hardware – The Internet is really a collection of cables connecting users together.
= roads that connect us and allow us to drive around cities and countries

Server – a computer that stores websites. Servers allow clients to connect to them and access their information from anywhere in the Internet.
= a mall, and each website saved on it is a shop in the mall

Clients – The computers that use the Internet: laptops, desktops, mobile phones, tablets, etc. Every client has its own unique address called an Internet Protocol (IP) address.
= a house or shop with its own unique street address

Internet Service Provider (ISP) – company that owns some Internet infrastructure and sells access to its network so that clients can use it
= city with its own road networks, paid for with road tax (visitors can use the roads for free)

Routers – computers that controls traffic of messages between points on the Internet. They keep information going where it should and away from the places it should not.
= trip planners, which choose the best route to travel

Domain Name Servers (DNS) – servers that save lists of webpage names and direct traffic to the correct hosting servers
= city phone book listing addresses

Protocols – rules controlling the transfer of information, so that all parts of the Internet can connect to all others, and so all the machines connected can understand each other
= traffic rules that all cars need to follow to avoid accidents (ex. driving on only one side of the street)

Network Access Points (NAPs) – agreed points of connection between ISPs which allow users to connect to other parts of the Internet
= points where the roads in one city connect to state or provincial highways

Read more at How the Internet Works – KidsPressMagazine.com