Hablando de protocolos de red-Conferencia 20 | CDN: ¿Alguna vez has recogido un servicio de mensajería en la tienda?

Esta serie de blog relacionado, de referencia frikis tiempo - Algo sobre protocolo de red

Hablando de protocolos de red-Conferencia 20 | CDN: ¿Alguna vez has recogido un servicio de mensajería en la tienda?

En la sección anterior, vimos los patrones generales de acceso del sitio web.

Cuando un usuario desea visitar un sitio web, especifique el nombre de dominio del sitio web, DNS resolverá el nombre de dominio en una dirección, y luego el usuario solicitará la dirección y devolverá una página web. Al igual que quiere comprar algo, primero necesita encontrar la ubicación de la tienda, luego ir a la tienda para encontrar lo que desea y finalmente llevarlo a casa.

¿Hay algún lugar donde se pueda optimizar?

Por ejemplo, si va al sitio web de comercio electrónico y hace un pedido para comprar algo, ¿tiene que entregarlo desde el almacén central de la sede central de comercio electrónico? Resulta que este es básicamente el caso, y cada pedido se entrega por separado, por lo que puede llevar mucho tiempo recibir a su bebé. Sin embargo, el sistema logístico del sitio web de comercio electrónico se volvió más inteligente y construyeron muchos almacenes en todo el país, en lugar de solo el almacén central de la sede.

Según las estadísticas, el sitio web de comercio electrónico probablemente sepa cuántos libros, papel higiénico, bolsas, electrodomésticos y otros artículos con períodos de almacenamiento relativamente largos se pueden vender todos los días en Beijing, Shanghai, Guangzhou, Shenzhen, Hangzhou y otros lugares. No es necesario enviar estos artículos desde el almacén central, por lo que generalmente se pueden distribuir en almacenes de todo el mundo. Los clientes ordenan y el almacén más cercano los envía, y pueden recibirse al día siguiente.

De esta manera, la experiencia del usuario mejora considerablemente. Por supuesto, también hay una dificultad aquí. La vida útil de alimentos como los alimentos frescos es demasiado corta. Si prepara los productos por adelantado, pero nadie hace un pedido, definitivamente se romperá. Hablaré de esto más tarde.

Comencemos diciendo que nuestra visita al sitio web puede basarse en la idea de "distribución cercana".

Arquitectura del sistema de distribución CDN

Hay tantos centros de datos en el mundo, no importa dónde vaya en línea, básicamente hay centros de datos en las cercanías. ¿Es posible implementar varias máquinas en estos centros de datos para formar un clúster de caché para almacenar en caché parte de los datos y luego, cuando los usuarios acceden a los datos, pueden acceder a ellos cerca?

Por supuesto que es posible. Estos nodos distribuidos en varios centros de datos en varios lugares se denominan nodos de borde.

Debido a la gran cantidad de nodos de borde, pero el tamaño de cada clúster es relativamente pequeño, es imposible almacenar todo en caché, por lo que puede no golpear, por lo que estará por encima del nodo de borde. Si hay nodos regionales, la escala será mayor, los datos almacenados en caché serán mayores y la probabilidad de acierto será mayor. Por encima de los nodos regionales se encuentra el nodo central, que tiene una escala más grande y más datos en caché. Si todavía no golpeas, tienes que volver al sitio web de origen para visitar.
Inserte la descripción de la imagen aquí
Esta es la arquitectura del sistema de distribución CDN. El caché del sistema CDN también es capa por capa, y no puede molestarlo sin acceder a la fuente real del back-end. Esta es también la idea del sistema logístico del sitio web de comercio electrónico. La Oficina de Beijing no puede encontrar la Oficina del Norte de China. La Oficina del Norte de China no puede encontrar la Oficina del Norte.

Suplemento de conceptos relacionados

El nombre completo de CDN es Content Delivery Network , que es la red de entrega de contenido . CDN es una red virtual inteligente construida sobre la base de la red existente. Confiando en servidores perimetrales implementados en varios lugares, a través del equilibrio de carga, distribución de contenido, programación y otros módulos funcionales de la plataforma central, los usuarios pueden obtener el contenido requerido cerca y reducir la congestión de la red. Mejore la velocidad de respuesta de acceso del usuario y la tasa de aciertos. Las tecnologías clave de CDN incluyen principalmente almacenamiento de contenido y tecnología de distribución.

CDN (Content Delivery Network) se refiere a una red de distribución de contenido, también conocida como red de distribución de contenido. Este concepto comenzó en 1996 y fue propuesto por un equipo de investigación del Instituto de Tecnología de Massachusetts para mejorar la calidad de los servicios de Internet. Para publicar contenido multimedia de banda ancha en la red IP tradicional, propusieron construir una plataforma de distribución de contenido basada en Internet existente para proporcionar servicios para el sitio web, y en 1999 establecieron una compañía especial de servicios CDN para proporcionar servicios profesionales para Yahoo. Dado que CDN es una capa de superposición de red optimizada para acelerar la velocidad de acceso a la red, se llama visualmente " acelerador de red ".

El nacimiento de la red CDN ha mejorado enormemente la calidad de los servicios de Internet, por lo que los operadores de redes tradicionales a gran escala han comenzado a construir sus propias redes CDN, como AT&T, Deutsche Telekom, China Telecom, etc. Con la creciente demanda del mercado, incluso han surgido operadores de red CDN puros. Akamai en los Estados Unidos es el más grande, con más de 1,000 nodos distribuidos en todo el mundo. La primera compañía de servicio de red CDN pura de China es Beijing Lanxun Company, que ha establecido una red especial de servicio CDN, ChinaCache, desde 2000. En la actualidad, la red CDN ha superado los 50 nodos, cubriendo seis redes troncales en China-China Telecom, China Netcom, China Mobile, China Unicom, China Railcom Network y China Education Network, con una reserva de recursos de ancho de banda de más de 35G y sirviendo a más de 300 clientes .

Si no lo ha sabido antes, puede buscar más materiales relacionados usted mismo.

Balanceo de carga

Con este sistema de distribución, el siguiente paso es, ¿cómo encuentra el cliente el nodo de borde correspondiente para acceder?

¿Recuerdas el equilibrio de carga global basado en DNS del que hablamos? Este equilibrio de carga se utiliza principalmente para seleccionar un servidor cercano del mismo operador para el acceso. Encontrará que la red de distribución CDN también es un sistema distribuido distribuido en múltiples regiones y múltiples operadores. También puede usar la misma idea para seleccionar el nodo de borde más adecuado. 
Inserte la descripción de la imagen aquí
En ausencia de una CDN, el usuario ingresa www.web.comel nombre de dominio en el navegador. Cuando el cliente accede al servidor DNS local, si el servidor DNS local tiene un caché, devuelve la dirección del sitio web; si no, consulta de forma recursiva el servidor DNS autorizado del sitio web. El servidor DNS autorizado es responsable de web.com y devolverá la dirección IP del sitio web. El servidor DNS local almacena en caché la dirección IP, devuelve la dirección IP y luego el cliente accede directamente a la dirección IP para acceder al sitio web.

Sin embargo, con el CDN, la situación ha cambiado. En el servidor DNS autorizado web.com, se establecerá un alias CNAME que apunte a otro nombre de dominio www.web.cdn.comy se devolverá al servidor DNS local.

Cuando el servidor DNS local obtiene el nuevo nombre de dominio, debe continuar resolviendo el nuevo nombre de dominio. En este momento, no es el servidor DNS autorizado de web.com, sino el servidor DNS autorizado de web.cdn.com, que es el servidor DNS autorizado de CDN. En este servidor, todavía se establecerá un CNAME que apunte a otro nombre de dominio, que es el equilibrador de carga global de la red CDN.

A continuación, el servidor DNS local solicita el equilibrador de carga global de CDN para resolver el nombre de dominio. El equilibrador de carga global seleccionará un servidor de caché adecuado para que el usuario proporcione servicios. La base de selección incluye:

  • Según la dirección IP del usuario, determine qué servidor está más cerca del usuario;
  • El operador donde se encuentra el usuario;
  • Según el nombre del contenido incluido en la URL solicitada por el usuario, determine qué servidor tiene el contenido requerido por el usuario;
  • Consulte la carga actual de cada servidor para determinar qué servidor aún tiene capacidades de servicio.

Según las condiciones anteriores, después de un análisis exhaustivo, el equilibrador de carga global devolverá la dirección IP de un servidor de caché.

El servidor DNS local almacena en caché la dirección IP y luego devuelve la IP al cliente, y el cliente accede al nodo de borde para descargar recursos. El servidor de caché responde a la solicitud del usuario y transmite el contenido requerido por el usuario al terminal de usuario. Si este servidor de caché no tiene el contenido que el usuario desea, entonces este servidor solicitará contenido de su servidor de caché de nivel superior hasta que el servidor de origen rastreado hasta el sitio web extraiga el contenido localmente.

Caché

Hay muchos tipos de contenido que CDN puede almacenar en caché.

Caché de datos estáticos

Las necesidades diarias con una larga vida útil son más fáciles de almacenar en caché, ya que no son fáciles de caducar, lo que corresponde a las páginas estáticas y las imágenes en el sistema de almacén de comercio electrónico. Debido a que estas cosas no cambian mucho, son adecuadas para el almacenamiento en caché.
Inserte la descripción de la imagen aquí
¿Recuerdas la arquitectura del caché de la capa de acceso? Al ingresar al centro de datos, esperamos bloquear la mayoría del acceso a los recursos estáticos en el borde a través del caché de la capa de acceso más externa. El CDN va un paso más allá, almacenando en caché estos recursos estáticos fuera del centro de datos más cerca del usuario. Cuanto más cerca del cliente, mejor será el rendimiento del acceso y menor será la latencia.

Streaming de caché de medios

Pero entre el contenido estático, hay un tipo especial de contenido, y CDN también se usa mucho. Este es el medio de transmisión mencionado anteriormente.

CDN admite protocolos de transmisión de medios, como el protocolo RTMP descrito anteriormente. En muchos casos, esto es equivalente a un proxy que lee contenido del caché de nivel superior y lo reenvía al usuario. Dado que la transmisión de medios es a menudo continua, puede almacenarse previamente en caché o enviarse al cliente del usuario por adelantado.

Para las páginas estáticas, la distribución de contenido a menudo toma el método de extracción, es decir, cuando se encuentra una falla, vaya al siguiente nivel para extraer. Sin embargo, la cantidad de transmisión de datos de medios es grande, y si hay un retorno a la fuente, la presión será relativamente grande, por lo que a menudo adopta un modo de inserción activa para empujar activamente los datos de punto de acceso a los nodos de borde.

Para la transmisión de medios, muchas CDN también proporcionan servicios de preprocesamiento, es decir, los archivos se procesan antes de ser distribuidos. Por ejemplo, el video se convierte en diferentes flujos de código para satisfacer las necesidades de los usuarios con diferentes anchos de banda de red; y luego el video se fragmenta para reducir la presión de almacenamiento, y el cliente puede elegir usar diferentes velocidades de bits para cargar diferentes fragmentos. Esto es lo que comúnmente vemos, "Quiero ver una definición súper clara, estándar, suave, etc."

Para el CDN de medios de transmisión, un problema clave es el problema de la cadena antirrobo. Debido a que el video cuesta mucho dinero para comprar los derechos de autor, con el fin de ganar algo de dinero y cobrar tarifas de publicidad, si los medios de transmisión son robados por otros sitios web y reproducidos en los sitios web de otras personas, la pérdida puede ser enorme.

El método más común y fácil es el campo de referencia del encabezado HTTP. Cuando el navegador envía una solicitud, generalmente trae un árbitro para decirle al servidor de qué página proviene el enlace. En base a esto, el servidor puede obtener información para el procesamiento. Si la información de referencia no proviene de este sitio, bloquee el acceso o salte a otros enlaces.

El mecanismo de referencia es relativamente fácil de descifrar, por lo que debe cooperar con otros mecanismos.

Un mecanismo de uso común es la cadena antirrobo con sello de tiempo. Los administradores que usan CDN pueden acordar una cadena encriptada con el fabricante de CDN en la interfaz de configuración.

El cliente saca la marca de tiempo actual, el recurso al que se debe acceder y su ruta, y realiza un algoritmo de firma junto con la cadena encriptada para obtener una cadena, y luego genera un enlace de descarga con esta cadena de firma y la marca de tiempo límite para acceder a la CDN.

En el servidor CDN, compare el tiempo de vencimiento con el tiempo actual del nodo CDN para confirmar si la solicitud caduca. Luego, el servidor CDN tiene el recurso y la ruta, la marca de tiempo y la cadena cifrada acordada. La firma se calcula de acuerdo con el mismo algoritmo de firma. Si coincide, la firma es coherente y el acceso es legal, y el recurso se devuelve al cliente.

Caché de datos dinámico

Sin embargo, por ejemplo, en el almacén de comercio electrónico, mencioné anteriormente que el almacenamiento en caché de alimentos frescos es muy problemático, lo que corresponde a datos dinámicos, que son más difíciles de almacenar en caché. Que debo hacer También hay CDN dinámicos, principalmente en dos modos.

  • Uno es el modelo de supermercado fresco, es decir , el modelo de computación de borde . Dado que los datos se generan dinámicamente, el cálculo lógico y el almacenamiento de los datos también se colocan en los nodos de borde en consecuencia. Entre ellos, los datos almacenados se sincronizan a partir de los datos de origen regularmente, y luego los resultados se calculan en el borde. Al igual que la cocción de alimentos frescos es dinámica, no hay forma de almacenarlos de antemano, por lo que colocar el supermercado de alimentos frescos al lado de su hogar no solo puede entregarlos en su puerta, sino que también puede cocinar en el lugar, lo que también es una manifestación de la informática de vanguardia.
  • El otro es el modo de transporte de la cadena de frío, es decir, el modo de optimización de ruta . Los datos no se generan en el borde del cálculo, sino en la estación fuente, pero los datos se pueden distribuir a través de la red CDN para optimizar la ruta. Debido a que hay muchos nodos CDN, es posible encontrar nodos de borde que estén muy cerca de la estación fuente, así como nodos de borde que estén cerca del usuario. El enlace en el medio está completamente planeado por el CDN, elija una ruta más confiable y use una línea similar para acceder.

Para las conexiones TCP de uso común, los datos a menudo se pierden cuando se transmiten en la red pública, lo que da como resultado una ventana TCP que siempre es pequeña y no se puede aumentar la velocidad de envío. De acuerdo con los principios anteriores de control de flujo TCP y control de congestión, los parámetros TCP se pueden ajustar en la red de aceleración CDN para que TCP pueda transmitir datos de manera más agresiva.

Una conexión se puede multiplexar a través de múltiples solicitudes para garantizar que llegue cada solicitud dinámica. La conexión se ha establecido, no es necesario estrechar la mano temporalmente tres veces o establecer demasiadas conexiones, lo que aumenta la presión sobre el servidor. Además, los datos de transmisión se pueden comprimir para aumentar la eficiencia de transmisión.

Todos estos métodos son como el transporte en cadena de frío, toda la logística está optimizada y todo el proceso se congela y transporta a alta velocidad. Ya sea que los alimentos frescos se entreguen en su hogar desde el supermercado cercano o desde el lugar de origen, se garantiza que su hogar esté fresco.

Resumen

Ok, este es el final de esta sección. Resumamos, solo recuerde estos dos puntos importantes.

  • Al igual que el sistema de almacenamiento distribuido del sistema de comercio electrónico, el CDN se divide en un nodo central, un nodo regional y un nodo de borde, y los datos se almacenan en caché en la posición más cercana al usuario.
  • CDN es el mejor para almacenar en caché los datos estáticos. Además, también puede almacenar en caché los datos multimedia de transmisión. En este momento, preste atención al uso de cadenas antirrobo. También es compatible con el almacenamiento en caché dinámico de datos, uno es el modo de supermercado fresco de cómputo de borde y el otro es el modo de transporte de cadena de frío optimizado para enlaces.

Finalmente, te dejaré dos preguntas:

  1. Esta sección describe un ejemplo de CDN que usa DNS para el equilibrio de carga global ¿Cómo usa CDN HTTPDNS?
  2. El cliente ha estado accediendo a DNS, HTTPDNS y CDN durante mucho tiempo y no ha ingresado al centro de datos. ¿Sabe qué es en el centro de datos?
Publicado 40 artículos originales · ganado elogios 1 · vistas 5361

Supongo que te gusta

Origin blog.csdn.net/aha_jasper/article/details/105575484
Recomendado
Clasificación