Tecnologías web cliente-servidor. Descripción general de las tecnologías de servidores modernas

El propósito de la conferencia: mostrar cómo se implementan los principios generales de las tecnologías cliente-servidor en las tecnologías web. Revise los elementos clave del protocolo HTTP básico.

El tema de este curso son las tecnologías de la red global World Wide Web (abreviada como WWW o simplemente Web). En ruso, una opción común es el nombre "Web".

En particular, el curso cubrirá temas tales como: estándares y protocolos básicos de la Web, lenguajes de programación y marcado para páginas web, herramientas para desarrollar y administrar contenido web y aplicaciones para la Web, herramientas para integrar contenido y aplicaciones web en la red.

Neto Web es un espacio de información global basado en la infraestructura física de Internet y el protocolo de transferencia de datos HTTP. A menudo, cuando se habla de Internet, se refieren a la red. Web.

Tecnologías cliente-servidor Web

El protocolo básico de la red de recursos de hipertexto web es el protocolo HTTP. Se basa en la interacción" cliente-servidor", es decir, se supone que:

    Consumidor- cliente habiendo iniciado una conexión con el servidor-proveedor, le envía una solicitud;

    Proveedor- servidor, habiendo recibido la solicitud, realiza las acciones necesarias y devuelve una respuesta con el resultado al cliente.

En este caso, hay dos formas posibles de organizar el trabajo de la computadora cliente:

    Cliente ligero Es una computadora cliente que transfiere todas las tareas de procesamiento de información al servidor. Un ejemplo de cliente ligero es una computadora con un navegador que se utiliza para trabajar con aplicaciones web.

    cliente gordo, por el contrario, procesa la información independientemente del servidor, utilizando este último principalmente únicamente para el almacenamiento de datos.

Antes de pasar a tecnologías web cliente-servidor específicas, veamos los principios básicos y la estructura del protocolo HTTP básico.

protocolo http

HTTP(Protocolo de transferencia de hipertexto - RFC 1945, RFC 2616): protocolo de capa de aplicación para transferir hipertexto.

La entidad central en HTTP es recurso, que apunta a URI en la solicitud del cliente. Normalmente, estos recursos son archivos almacenados en el servidor. Una característica del protocolo HTTP es la capacidad de especificar en la solicitud y respuesta el método de representación del mismo recurso según varios parámetros: formato, codificación, idioma, etc. Es gracias a la capacidad de especificar el método de codificación de un mensaje. que el cliente y el servidor pueden intercambiar datos binarios, aunque inicialmente este protocolo fue diseñado para transmitir información simbólica. A primera vista, esto puede parecer un desperdicio de recursos. De hecho, los datos en forma simbólica ocupan más memoria, los mensajes crean una carga adicional en los canales de comunicación, pero este formato tiene muchas ventajas. Los mensajes transmitidos a través de la red son legibles y, al analizar los datos recibidos, el administrador del sistema puede encontrar fácilmente el error y solucionarlo. Si es necesario, una persona puede desempeñar el papel de una de las aplicaciones interactivas ingresando mensajes manualmente en el formato requerido.

A diferencia de muchos otros protocolos, HTTP es un protocolo sin memoria. Esto significa que el protocolo no almacena información sobre solicitudes anteriores de clientes y respuestas del servidor. Los componentes que utilizan HTTP pueden mantener de forma independiente la información de estado asociada con solicitudes y respuestas recientes. Por ejemplo, una aplicación cliente web que envía solicitudes puede realizar un seguimiento de los retrasos en las respuestas y un servidor web puede almacenar las direcciones IP y los encabezados de solicitud de los clientes recientes.

Todo el software para trabajar con el protocolo HTTP se divide en tres categorías principales:

    Servidores- proveedores de servicios de almacenamiento y procesamiento de información (procesamiento de solicitudes).

    Clientela- consumidores finales de servicios de servidor (envío de solicitudes).

    Servidores proxy para apoyar el trabajo de los servicios de transporte.

El esquema de sesión HTTP "clásico" se ve así.

    Estableciendo una conexión TCP.

    Solicitud del cliente.

    Respuesta del servidor.

    Terminando la conexión TCP.

Por lo tanto, el cliente envía una solicitud al servidor, recibe una respuesta del mismo y luego se detiene la interacción. Normalmente, la solicitud del cliente es una solicitud de un documento HTML o algún otro recurso, y la respuesta del servidor contiene el código de ese recurso.

La solicitud HTTP enviada por el cliente al servidor incluye los siguientes componentes.

    Línea de estado (a veces también se utilizan los términos línea de estado o línea de consulta para referirse a ella).

    Campos de encabezado.

    Cadena vacía.

    Cuerpo de solicitud.

barra de estado junto con campos de encabezado a veces también llamado encabezado de solicitud.

Arroz. 1.1. Estructura de solicitud del cliente.

barra de estado tiene el siguiente formato:

método_solicitud URL_pecypca versión_protocolo HTTP

Veamos los componentes de la barra de estado, con especial atención a los métodos de solicitud.

Método especificado en la línea de estado determina cómo se ve afectado el recurso cuya URL se especifica en la misma línea. El método puede tomar valores GET, POST, HEAD, PUT, DELETE, etc. A pesar de la abundancia de métodos, sólo dos de ellos son realmente importantes para un programador web: GET y POST.

    CONSEGUIR. Según la definición formal, el método GET tiene como objetivo obtener un recurso con una URL específica.

    Al recibir una solicitud GET, el servidor debe leer el recurso especificado e incluir el código del recurso como parte de la respuesta al cliente. El recurso cuya URL se pasa como parte de la solicitud no tiene que ser una página HTML, un archivo de imagen u otros datos. La URL del recurso puede apuntar a un código de programa ejecutable que, si se cumplen ciertas condiciones, debe ejecutarse en el servidor. En este caso, al cliente no se le devuelve el código del programa, sino los datos generados durante su ejecución. Aunque, por definición, el método GET está destinado a recuperar información, puede utilizarse para otros fines.

    El método GET es muy adecuado para transferir pequeños datos al servidor.

CORREO. Según la misma definición formal, el objetivo principal del método POST es transferir datos al servidor. Sin embargo, al igual que el método GET, el método POST se puede utilizar de diferentes maneras y, a menudo, se utiliza para recuperar información de un servidor. Al igual que con el método GET, la URL especificada en la barra de estado apunta a un recurso específico. El método POST también se puede utilizar para iniciar un proceso. Los métodos HEAD y PUT son modificaciones de los métodos GET y POST.

Versión del protocolo HTTP

, por regla general, se especifica en el siguiente formato: HTTP/versión.modificación

Campos de encabezado

, siguiendo la línea de estado, le permite refinar la solicitud, es decir. transmitir información adicional al servidor. El campo de encabezado tiene el siguiente formato:

Nombre de campo: Valor El propósito de un campo está determinado por su nombre, que está separado del valor por dos puntos..

Los nombres de algunos de los campos de encabezado más comunes en una solicitud de cliente y su propósito se dan en

mesa 1.1

Tabla 1.1. Campos de encabezado de solicitud HTTP.

Campos de encabezado de solicitud HTTP

Significado

Dirección de correo electrónico del usuario que trabaja con el cliente.

Tipos MIME de datos procesados ​​por el cliente. Este campo puede tener varios valores, separados por comas.

A menudo, el campo de encabezado Aceptar se utiliza para indicarle al servidor qué tipos de archivos gráficos admite el cliente.

Un conjunto de identificadores de dos caracteres, separados por comas, que indican los idiomas admitidos por el cliente.

Lista de juegos de caracteres admitidos

Tipo MIME de datos contenidos en el cuerpo de la solicitud (si la solicitud no consta de un único encabezado)

Número de caracteres contenidos en el cuerpo de la solicitud (si la solicitud no consta de un único encabezado)

Presente si el cliente no solicita el documento completo, sino solo una parte

Se utiliza para gestionar la conexión TCP. Si el campo contiene Cerrar, esto significa que el servidor debe cerrar la conexión después de procesar la solicitud. El valor Keep-Alive sugiere mantener abierta la conexión TCP para que pueda usarse para solicitudes posteriores.

Información del cliente

En muchos casos, cuando se trabaja en la Web, no existe un cuerpo de solicitud. Cuando se ejecutan scripts CGI, los datos que se les pasan en la solicitud se pueden colocar en el cuerpo de la solicitud.

A continuación se muestra un ejemplo de una solicitud HTML generada por el navegador.

OBTENER http://oak.oakland.edu/ HTTP/1.0

Conexión: Mantener vivo

Agente de usuario: Mozilla/4.04 (Win95; I)

Anfitrión: oak.oakland.edu

Aceptar: imagen/gif, imagen/x-xbitmap, imagen/jpeg, imagen/pjpeg, imagen/png, */*

Aceptar-Idioma: en

Aceptar juego de caracteres: iso-8859-l,*,utf-8

Habiendo recibido una solicitud de un cliente, el servidor debe responder a ella. El conocimiento de la estructura de la respuesta del servidor es necesario para un desarrollador de aplicaciones web, ya que los programas que se ejecutan en el servidor deben generar de forma independiente una respuesta al cliente.

    Al igual que la solicitud del cliente, la respuesta del servidor también consta de cuatro componentes que se enumeran a continuación.

    Campos de encabezado.

    Cadena vacía.

    Barra de estado.

Cuerpo de respuesta.

La respuesta del servidor al cliente comienza con una línea de estado, que tiene el siguiente formato:

    Versión_de_protocolo Código_de_respuesta Mensaje_explicativo Versión_protocolo

    se especifica en el mismo formato que en la solicitud del cliente y tiene el mismo significado. Código_respuesta

    es un número decimal de tres dígitos que representa en forma codificada el resultado de atender una solicitud por parte del servidor. duplica el código de respuesta en forma simbólica.

Esta es una cadena de caracteres que el cliente no procesa. Está destinado al administrador del sistema u operador involucrado en el mantenimiento del sistema y es una decodificación del código de respuesta.

De los tres dígitos que componen el código de respuesta, el primero (el más alto) determina la clase de respuesta, los dos restantes representan el número de respuesta dentro de la clase. Entonces, por ejemplo, si la solicitud se procesó exitosamente, el cliente recibe el siguiente mensaje:

HTTP/1.0 200 correcto

Como puede ver, a la versión 1.0 del protocolo HTTP le sigue el código 200. En este código, el carácter 2 significa el procesamiento exitoso de la solicitud del cliente y los dos dígitos restantes (00) indican el número de este mensaje.

    1 En las implementaciones utilizadas actualmente del protocolo HTTP, el primer dígito no puede ser mayor que 5 y define las siguientes clases de respuesta.

    2 - una clase especial de mensajes llamados mensajes de información. Un código de respuesta que comienza con 1 significa que el servidor continúa procesando la solicitud. Al intercambiar datos entre un cliente HTTP y un servidor HTTP, los mensajes de esta clase se utilizan con bastante poca frecuencia.

    3 - procesamiento exitoso de la solicitud del cliente.

    4 - redirección de la solicitud. Se deben tomar medidas adicionales para que se atienda la solicitud.

    5 - error del cliente. Normalmente, se devuelve un código de respuesta que comienza con el número 4 si hay un error de sintaxis en la solicitud del cliente.

- error del servidor. Por una razón u otra, el servidor no puede completar la solicitud.

En la tabla se dan ejemplos de códigos de respuesta que un cliente puede recibir del servidor y mensajes explicativos. 1.2.

Tabla 1.2. Clases de códigos de respuesta del servidor.

Descodificación

Interpretación

Parte de la solicitud ha sido aceptada y el servidor está esperando que el cliente continúe con la solicitud.

La solicitud se procesó correctamente y la respuesta del cliente contiene los datos especificados en la solicitud.

Como resultado del procesamiento de la solicitud, se creó un nuevo recurso.

La solicitud fue aceptada por el servidor, pero el procesamiento no se completó. Este código de respuesta no garantiza que la solicitud se procesará sin errores.

Contenido parcial

El servidor devuelve parte del recurso en respuesta a una solicitud que contiene un campo de encabezado Rango

Opción múltiple

La solicitud apunta a más de un recurso. El cuerpo de la respuesta puede contener instrucciones sobre cómo identificar correctamente el recurso solicitado.

Se mudó permanentemente

El recurso solicitado ya no se encuentra en el servidor.

Movido temporalmente

El recurso solicitado ha cambiado temporalmente su dirección

Se detectó un error de sintaxis en la solicitud del cliente.

El recurso especificado por el cliente no está presente en el servidor.

Método no permitido

El servidor no admite el método especificado en la solicitud.

Error Interno del Servidor

Uno de los componentes del servidor no funciona correctamente.

No implementado

La funcionalidad del servidor no es suficiente para cumplir con la solicitud del cliente.

Servicio No Disponible

El servicio no está disponible temporalmente

Versión HTTP no compatible

La versión HTTP especificada en la solicitud no es compatible con el servidor

La respuesta utiliza la misma estructura de campos de encabezado que la solicitud del cliente. Los campos de encabezado están destinados a aclarar la respuesta del servidor al cliente. En la Tabla se proporciona una descripción de algunos de los campos que se pueden encontrar en el encabezado de respuesta del servidor. 1.3.

Tabla 1.3. Campos de encabezado de respuesta del servidor web.

Nombre del campo

Descripción del contenido

Nombre del servidor y número de versión

Tiempo en segundos desde que se creó el recurso.

Lista de métodos permitidos para un recurso determinado

Idioma del contenido

Idiomas que el cliente debe soportar para poder visualizar correctamente el recurso transferido

MÍMICA-tipo de datos contenidos en el cuerpo de la respuesta del servidor

Número de caracteres contenidos en el cuerpo de la respuesta del servidor

Fecha y hora en que se modificó el recurso por última vez

La fecha y hora que determina cuándo se genera la respuesta.

La fecha y hora que definen el momento a partir del cual la información transmitida al cliente se considera obsoleta

Este campo indica la ubicación real del recurso. Se utiliza para redirigir la solicitud.

Directivas de control de almacenamiento en caché. Por ejemplo, sin caché significa que los datos no deben almacenarse en caché.

El cuerpo de la respuesta contiene el código de recurso enviado al cliente en respuesta a la solicitud. No es necesario que sea el texto HTML de la página web. La respuesta puede contener una imagen, un archivo de audio, un fragmento de información de video, así como cualquier otro tipo de dato soportado por el cliente. El contenido del campo de encabezado Tipo de contenido le indica al cliente cómo procesar el recurso recibido.

A continuación se muestra un ejemplo de la respuesta del servidor a la solicitud proporcionada en la sección anterior. El cuerpo de la respuesta contiene el texto fuente del documento HTML.

Servidor: Microsoft-IIS/5.1

X-Desarrollado por: ASP.NET

Tipo de contenido: texto/html

Rangos de aceptación: bytes

Etiqueta ET: "b66a667f948c92:8a5"

Longitud del contenido: 426

Operando1:

Operando2:

Operación:

Es posible que falten los campos del encabezado y el cuerpo del mensaje, pero la línea de estado es un elemento obligatorio ya que indica el tipo de solicitud/respuesta.

Un campo llamado Tipo de contenido puede aparecer tanto en la solicitud del cliente como en la respuesta del servidor. El valor de este campo es MÍMICA- tipo de contenido de la solicitud o respuesta. MÍMICA-type también se pasa en el campo de encabezado Aceptar presente en la solicitud.

Especificación MÍMICA(Extensión de correo de Internet multipropósito - extensión de correo de Internet multipropósito) se desarrolló originalmente para garantizar la transferencia de varios formatos de datos como parte de los correos electrónicos. Sin embargo, el uso de MIME no se limita al correo electrónico. Las herramientas MIME se utilizan con éxito en la WWW y, de hecho, se han convertido en una parte integral de este sistema.

Estándar MÍMICA está diseñado como una especificación extensible, con la expectativa de que la cantidad de tipos de datos crezca a medida que evolucionen las formas de representación de datos. Cada nuevo tipo debe registrarse con IANA(Autoridad de Números Asignados de Internet).

antes de la aparición MÍMICA Las computadoras que se comunicaban a través de HTTP intercambiaban exclusivamente información de texto. Para transferir imágenes, al igual que para transferir cualquier otro archivo binario, debía utilizar el protocolo FTP.

Según la especificación MÍMICA, se utilizan para describir el formato de datos. tipo Y subtipo. Tipo Determina a qué clase pertenece el formato de contenido de una solicitud HTTP o respuesta HTTP. Subtipo especifica el formato. El tipo y el subtipo están separados entre sí por una barra:

tipo/subtipo

Dado que en la gran mayoría de los casos, en respuesta a una solicitud del cliente, el servidor devuelve el texto fuente del documento HTML, el campo Tipo de contenido de la respuesta suele contener el valor texto/html. Aquí el identificador de texto describe el tipo, indicando que la información de caracteres se pasa al cliente, y el identificador html describe el subtipo, es decir. indica que la secuencia de caracteres contenida en el cuerpo de la respuesta representa una descripción del documento en HTML.

Lista de tipos y subtipos MÍMICA lo suficientemente grande. en la mesa 1.4 proporciona ejemplos MÍMICA-tipos que se encuentran con mayor frecuencia en encabezados de solicitud y respuesta HTML.

Tabla 1.4. Tipos de datos MIME.

Tipo/subtipo

Extensión de archivo

Descripción

Documento destinado a ser procesado por Acrobat Reader

aplicación/msexcel

Documento en formato Microsoft Excel

solicitud/posdata

documento posdata

aplicación/x-tex

Documento en formato TeX

aplicación/msword

Documento en formato Microsoft Word

Documento RTF mostrado con Microsoft Word

Imagen GIF

imagen JPEG

Imagen TIFF

XImagen de mapa de bits

texto ASCII

documento HTML

Archivo de audio en formato MIDI

Archivo de audio en formato WAV

mensaje postal

Mensaje a grupos de noticias

Mpeg, .mpg, .mpe

Fragmento de vídeo en formato MPEG.

Fragmento de vídeo en formato AVI.

Para identificar de forma única los recursos en la Web, se utilizan identificadores de URL únicos.

Un URI (Identificador uniforme de recursos) es una secuencia corta de caracteres que identifica un recurso físico o abstracto. El URI no indica cómo obtener el recurso, solo lo identifica. Esto permite describir mediante el uso de recursos RDF (Resource Description Framework) que no se pueden obtener a través de Internet (nombres, títulos, etc.). Los ejemplos más conocidos de URI son las URL y las URN.

    URL(Localizador uniforme de recursos) es un URI que, además de identificar un recurso, también proporciona información sobre la ubicación de este recurso.

    URNA Un nombre uniforme de recurso es un URI que identifica un recurso en un espacio de nombres específico, pero a diferencia de una URL, una URN no indica la ubicación de ese recurso.

La URL tiene la siguiente estructura:

<схема>://<логин>:<пароль>@<хост>:<порт>/

    esquema- esquema para acceder a un recurso (normalmente un protocolo de red);

    acceso- nombre de usuario utilizado para acceder al recurso;

    contraseña- contraseña asociada con el nombre de usuario especificado;

    anfitrión- nombre de dominio completamente registrado del host en el sistema DNS o dirección IP del host;

    puerto- puerto host para conexión;

    ruta URL- aclarar información sobre la ubicación del recurso.

Crearemos más sistemas informáticos distribuidos utilizando tecnología cliente-servidor. Esta tecnología proporciona un enfoque unificado para el intercambio de información entre dispositivos, ya sean computadoras ubicadas en diferentes continentes y conectadas a través de Internet o placas Arduino colocadas sobre la misma mesa y conectadas mediante un cable de par trenzado.

En lecciones futuras planeo hablar sobre la creación de redes de información usando:

  • Controladores de red local Ethernet;
  • Módems WiFi;
  • módems GSM;
  • Módems Bluetooth.

Todos estos dispositivos se comunican mediante un modelo cliente-servidor. El mismo principio se aplica a la transferencia de información en Internet.

No pretendo brindar una cobertura completa de este voluminoso tema. Quiero dar la información mínima necesaria para comprender las siguientes lecciones.

Tecnología cliente-servidor.

El cliente y el servidor son programas ubicados en diferentes computadoras, en diferentes controladores y otros dispositivos similares. Interactúan entre sí a través de una red informática utilizando protocolos de red.

Los programas de servidor son proveedores de servicios. Esperan constantemente solicitudes de los programas de los clientes y les brindan sus servicios (transferir datos, resolver problemas computacionales, administrar algo, etc.). El servidor debe estar constantemente encendido y “escuchando” la red. Normalmente, cada programa de servidor puede procesar solicitudes de varios programas de cliente.

El programa cliente es el iniciador de la solicitud, que puede realizarse en cualquier momento. A diferencia de un servidor, el cliente no tiene que estar constantemente conectado. Basta con conectarse en el momento de la solicitud.

Entonces, en términos generales, el sistema cliente-servidor se ve así:

  • Hay computadoras, controladores Arduino, tablets, celulares y otros dispositivos inteligentes.
  • Todos ellos están incluidos en la red informática común. Por cable o inalámbrico, no importa. Incluso se pueden conectar a diferentes redes conectadas entre sí a través de una red global, como Internet.
  • Algunos dispositivos tienen instalados programas de servidor. Estos dispositivos se denominan servidores, deben estar encendidos constantemente y su tarea es procesar las solicitudes de los clientes.
  • Los programas cliente se ejecutan en otros dispositivos. Estos dispositivos se denominan clientes; inician solicitudes a los servidores. Se encienden solo en los momentos en que es necesario contactar con los servidores.

Por ejemplo, si quieres encender una plancha desde un celular vía WiFi, entonces la plancha será el servidor y el teléfono será el cliente. La plancha debe estar constantemente enchufada y usted iniciará el programa de control en su teléfono según sea necesario. Si conecta una computadora a la red WiFi de la plancha, podrá controlar la plancha usando la computadora. Este será otro cliente. El horno microondas WiFi agregado al sistema será el servidor. Y así el sistema se puede ampliar infinitamente.

Transmisión de datos en paquetes.

La tecnología cliente-servidor generalmente está destinada a ser utilizada con redes de información a gran escala. De un suscriptor a otro, los datos pueden recorrer un camino complejo a través de diferentes canales físicos y redes. La ruta de entrega de datos puede variar según el estado de los elementos individuales de la red. Es posible que algunos componentes de la red no funcionen en este momento, entonces los datos tomarán un camino diferente. Los tiempos de entrega pueden variar. Los datos pueden incluso desaparecer y no llegar al destinatario.

Por lo tanto, simplemente transferir datos en un bucle, como transferimos datos a una computadora en algunas lecciones anteriores, es completamente imposible en redes complejas. La información se transmite en porciones limitadas: paquetes. En el lado transmisor, la información se divide en paquetes y en el lado receptor, se "pega" a partir de paquetes en datos sólidos. El tamaño del paquete no suele ser superior a unos pocos kilobytes.

Un paquete es análogo a una carta postal normal. También debe contener, además de la información, la dirección del destinatario y la dirección del remitente.

El paquete consta de un encabezado y una parte de información. El encabezado contiene las direcciones del destinatario y del remitente, así como la información de servicio necesaria para "pegar" los paquetes en el lado receptor. El equipo de red utiliza el encabezado para determinar dónde reenviar el paquete.

Direccionamiento de paquetes.

Hay mucha información detallada sobre este tema en Internet. Quiero contarte lo más cerca posible de la práctica.

En la próxima lección, para transferir datos utilizando tecnología cliente-servidor, tendremos que especificar información para direccionar paquetes. Aquellos. información sobre dónde entregar los paquetes de datos. En general, tendremos que configurar los siguientes parámetros:

  • Dirección IP del dispositivo;
  • máscara de subred;
  • nombre de dominio;
  • Dirección IP de la puerta de enlace de la red;
  • dirección MAC;
  • puerto.

Averigüemos qué es.

Direcciones IP.

La tecnología cliente-servidor supone que todos los suscriptores de todas las redes del mundo están conectados a una única red global. De hecho, en muchos casos esto es cierto. Por ejemplo, la mayoría de las computadoras o dispositivos móviles están conectados a Internet. Por lo tanto, se utiliza un formato de direccionamiento diseñado para una cantidad tan grande de suscriptores. Pero incluso si se utiliza tecnología cliente-servidor en redes locales, el formato de dirección aceptado aún se conserva, con una redundancia obvia.

A cada punto de conexión del dispositivo a la red se le asigna un número único: una dirección IP (dirección de protocolo de Internet). La dirección IP no se asigna al dispositivo (computadora), sino a la interfaz de conexión. En principio, los dispositivos pueden tener varios puntos de conexión, es decir, varias direcciones IP diferentes.

Una dirección IP es un número de 32 bits o 4 bytes. Para mayor claridad, se acostumbra escribirlo con 4 números decimales del 0 al 255, separados por puntos. Por ejemplo, la dirección IP de mi servidor es 31.31.196.216.

Para facilitar que los equipos de red creen una ruta para entregar paquetes en formato de dirección IP, se ha introducido el direccionamiento lógico. La dirección IP se divide en 2 campos lógicos: número de red y número de nodo. Los tamaños de estos campos dependen del valor del primer octeto (el más significativo) de la dirección IP y se dividen en 5 grupos: clases. Este es el llamado método de enrutamiento con clase.

Clase Octeto mayor Formato

(red S,
nodo U)

Dirección de inicio dirección final Número de redes Número de nodos
A 0 S.U.U.U. 0.0.0.0 127.255.255.255 128 16777216
B 10 S.S.U.U 128.0.0.0 191.255.255.255 16384 65534
do 110 S.S.S.U 192.0.0.0 223.255.255.255 2097152 254
D 1110 Dirección de grupo 224.0.0.0 239.255.255.255 - 2 28
mi 1111 Reservar 240.0.0.0 255.255.255.255 - 2 27

La clase A está diseñada para su uso en redes grandes. La clase B se utiliza en redes de tamaño mediano. La clase C está destinada a redes con una pequeña cantidad de nodos. La clase D se utiliza para abordar grupos de hosts y las direcciones de clase E están reservadas.

Existen restricciones en la elección de direcciones IP. Consideré lo siguiente como lo más importante para nosotros:

  • La dirección 127.0.0.1 se denomina loopback y se utiliza para probar programas dentro del mismo dispositivo. Los datos enviados a esta dirección no se transmiten a través de la red, sino que se devuelven al programa de nivel superior tal como se recibieron.
  • Las direcciones "grises" son direcciones IP permitidas solo para dispositivos que operan en redes locales sin acceso a Internet. Estas direcciones nunca son procesadas por los enrutadores. Se utilizan en redes locales.
    • Clase A: 10.0.0.0 – 10.255.255.255
    • Clase B: 172.16.0.0 – 172.31.255.255
    • Clase C: 192.168.0.0 – 192.168.255.255
  • Si el campo del número de red contiene todos ceros, significa que el nodo pertenece a la misma red que el nodo que envió el paquete.

Máscaras de subred.

Con el método de enrutamiento con clase, el número de bits de dirección de red y de host en la dirección IP está determinado por el tipo de clase. Y solo hay 5 clases, en realidad se utilizan 3. Por lo tanto, el método de enrutamiento con clases en la mayoría de los casos no permite una selección óptima del tamaño de la red. Lo que conduce a un uso despilfarrador del espacio de direcciones IP.

En 1993 se introdujo un método de enrutamiento sin clases, que actualmente es el principal. Le permite seleccionar de manera flexible y, por lo tanto, racional, la cantidad requerida de nodos de red. Este método de direccionamiento utiliza máscaras de subred de longitud variable.

Al nodo de red se le asigna no solo una dirección IP, sino también una máscara de subred. Tiene el mismo tamaño que una dirección IP, 32 bits. La máscara de subred determina qué parte de la dirección IP pertenece a la red y qué parte al host.

Cada bit de la máscara de subred corresponde a un bit de la dirección IP en el mismo bit. Un 1 en un bit de máscara indica que el bit de dirección IP correspondiente pertenece a una dirección de red, y un bit de máscara con un valor de 0 determina que el bit de dirección IP pertenece a un host.

Al transmitir un paquete, un nodo, mediante una máscara, extrae la parte de red de su dirección IP, la compara con la dirección de destino y, si coinciden, significa que los nodos emisor y receptor están en la misma red. Luego el paquete se entrega localmente. De lo contrario, el paquete se envía a través de la interfaz de red a otra red. Hago hincapié en que la máscara de subred no forma parte del paquete. Sólo afecta la lógica de enrutamiento del nodo.

Básicamente, la máscara permite dividir una red grande en varias subredes. El tamaño de cualquier subred (número de direcciones IP) debe ser un múltiplo de una potencia de 2. es decir 4, 8, 16, etc. Esta condición está determinada por el hecho de que los bits de los campos de dirección de red y de nodo deben ser consecutivos. No puede configurar, por ejemplo, 5 bits (la dirección de red), luego 8 bits (la dirección del nodo) y luego nuevamente los bits de direccionamiento de la red.

Un formulario de ejemplo para una red con cuatro nodos se ve así:

Red 31.34.196.32, máscara 255.255.255.252

Una máscara de subred siempre consta de unos consecutivos (signos de una dirección de red) y ceros consecutivos (signos de una dirección de host). Según este principio, existe otra forma de registrar la misma información de dirección.

Red 31.34.196.32/30

/30 es el número de unos en la máscara de subred. En este ejemplo quedan dos ceros, lo que corresponde a 2 bits de la dirección del nodo o cuatro nodos.

Tamaño de la red (número de nodos) máscara larga máscara corta
4 255.255.255.252 /30
8 255.255.255.248 /29
16 255.255.255.240 /28
32 255.255.255.224 /27
64 255.255.255.192 /26
128 255.255.255.128 /25
256 255.255.255.0 /24
  • El último número de la primera dirección de subred debe ser divisible por el tamaño de la red.
  • La primera y la última dirección de la subred son direcciones de servicio y no se pueden utilizar.

Nombre de dominio.

Es inconveniente para una persona trabajar con direcciones IP. Estos son conjuntos de números, y una persona está acostumbrada a leer letras, incluso mejor, letras escritas de manera coherente, es decir. palabras. Para que a las personas les resulte más cómodo trabajar con redes, se utiliza un sistema diferente para identificar dispositivos de red.

A cualquier dirección IP se le puede asignar una letra identificadora que sea más comprensible para los humanos. El identificador se llama nombre de dominio o dominio.

Un nombre de dominio es una secuencia de dos o más palabras separadas por puntos. La última palabra es un dominio de primer nivel, la penúltima palabra es un dominio de segundo nivel, etc. Creo que todo el mundo sabe sobre esto.

La comunicación entre direcciones IP y nombres de dominio se produce a través de una base de datos distribuida que utiliza servidores DNS. Cada propietario de un dominio de segundo nivel debe tener un servidor DNS. Los servidores DNS están unidos en una estructura jerárquica compleja y pueden intercambiar datos entre sí sobre la correspondencia de direcciones IP y nombres de dominio.

Pero todo esto no es tan importante. Lo principal para nosotros es que cualquier cliente o servidor pueda contactar al servidor DNS con una consulta DNS, es decir con una solicitud de correspondencia entre una dirección IP y un nombre de dominio, o viceversa, un nombre de dominio y una dirección IP. Si el servidor DNS tiene información sobre la correspondencia entre la dirección IP y el dominio, entonces responde. Si no lo sabe, busca información en otros servidores DNS y luego informa al cliente.

Pasarelas de red.

Una puerta de enlace de red es un enrutador de hardware o software para conectar redes con diferentes protocolos. En general, su tarea es convertir protocolos de un tipo de red en protocolos de otra red. Normalmente, las redes tienen diferentes medios físicos de transmisión de datos.

Un ejemplo es una red local de computadoras conectadas a Internet. Dentro de su red local (subred), los ordenadores se comunican sin necesidad de ningún dispositivo intermedio. Pero siempre que una computadora necesita comunicarse con otra red, como acceder a Internet, utiliza un enrutador, que actúa como puerta de enlace de la red.

Los enrutadores, que todo el mundo tiene con una conexión a Internet por cable, son un ejemplo de puerta de enlace de red. Una puerta de enlace de red es el punto a través del cual se proporciona acceso a Internet.

En general, el uso de una puerta de enlace de red tiene este aspecto:

  • Digamos que tenemos un sistema de varias placas Arduino conectadas mediante una red local Ethernet a un enrutador, que a su vez está conectado a Internet.
  • En la red local utilizamos direcciones IP "grises" (esto se describe arriba), que no permiten el acceso a Internet. El enrutador tiene dos interfaces: nuestra red local con una dirección IP "gris" y una interfaz para conectarnos a Internet con una dirección "blanca".
  • En la configuración del nodo especificamos la dirección de la puerta de enlace, es decir Dirección IP “blanca” de la interfaz del enrutador conectada a Internet.
  • Ahora, si un enrutador recibe un paquete de un dispositivo con una dirección "gris" con una solicitud para recibir información de Internet, reemplaza la dirección "gris" en el encabezado del paquete con su dirección "blanca" y la envía a la red global. red. Al recibir una respuesta de Internet, reemplaza la dirección "blanca" por la "gris" recordada durante la solicitud y transmite el paquete al dispositivo local.

Dirección MAC.

Una dirección MAC es un identificador único para dispositivos de red local. Como regla general, el fabricante del equipo lo escribe en la memoria permanente del dispositivo.

La dirección consta de 6 bytes. Se acostumbra escribirlo en notación hexadecimal en los siguientes formatos: c4-0b-cb-8b-c3-3a o c4:0b:cb:8b:c3:3a. Los primeros tres bytes son el identificador único de la organización de fabricación. Los bytes restantes se denominan “Número de interfaz” y su significado es único para cada dispositivo específico.

La dirección IP es lógica y la establece el administrador. Una dirección MAC es una dirección física y permanente. Se utiliza para direccionar tramas, por ejemplo, en redes locales Ethernet. Cuando se envía un paquete a una dirección IP específica, la computadora determina la dirección MAC correspondiente utilizando una tabla ARP especial. Si no hay datos sobre la dirección MAC en la tabla, entonces la computadora la solicita mediante un protocolo especial. Si no se puede determinar la dirección MAC, los paquetes no se enviarán a este dispositivo.

Puertos.

Utilizando la dirección IP, el equipo de red determina el destinatario de los datos. Pero un dispositivo, como un servidor, puede tener varias aplicaciones ejecutándose. Para determinar a qué aplicación están destinados los datos, se agrega otro número al encabezado: el número de puerto.

El puerto se utiliza para determinar el proceso de recepción del paquete dentro de la misma dirección IP.

Se asignan 16 bits para el número de puerto, que corresponde a números del 0 al 65535. Los primeros 1024 puertos están reservados para procesos estándar como correo, sitios web, etc. Es mejor no utilizarlos en tus aplicaciones.

Direcciones IP estáticas y dinámicas. Protocolo DHCP.

Las direcciones IP se pueden asignar manualmente. Una operación bastante tediosa para el administrador. Y en el caso de que el usuario no tenga los conocimientos necesarios, la tarea se vuelve difícil de resolver. Además, no todos los usuarios están constantemente conectados a la red y otros suscriptores no pueden utilizar las direcciones estáticas que se les asignan.

El problema se resuelve utilizando direcciones IP dinámicas. Las direcciones dinámicas se emiten a los clientes por un tiempo limitado mientras están continuamente en línea. La distribución dinámica de direcciones se produce bajo el control del protocolo DHCP.

DHCP es un protocolo de red que permite a los dispositivos obtener automáticamente direcciones IP y otros parámetros necesarios para operar en una red.

En la etapa de configuración, el dispositivo cliente contacta al servidor DHCP y recibe de él los parámetros necesarios. Se puede especificar un rango de direcciones distribuidas entre dispositivos de red.

Vea la configuración del dispositivo de red usando la línea de comando.

Hay muchas formas de averiguar la dirección IP o MAC de su tarjeta de red. Lo más sencillo es utilizar los comandos CMD del sistema operativo. Te mostraré cómo hacer esto usando Windows 7 como ejemplo.

El archivo cmd.exe se encuentra en la carpeta Windows\System32. Este es un intérprete de línea de comando. Se puede utilizar para obtener información del sistema y configurarlo.

Abra la ventana Ejecutar. Para hacer esto, ejecute el menú. Inicio -> Ejecutar o presione la combinación de teclas Ganar+R.

Escriba cmd y presione Aceptar o Entrar. Aparece una ventana de intérprete de comandos.

Ahora puede especificar cualquiera de los numerosos comandos. Por ahora nos interesan los comandos para ver la configuración de dispositivos de red.

Primero que nada, es un equipo. ipconfig, que muestra la configuración de la tarjeta de red.

Opción detallada ipconfig/todos.

El comando solo muestra las direcciones MAC getmac.

El comando muestra la tabla de correspondencia entre direcciones IP y MAC (tabla ARP) arpía –a.

Puede verificar la conexión con el dispositivo de red con el comando silbido.

  • hacer ping al nombre de dominio
  • hacer ping a la dirección IP

El servidor de mi sitio está respondiendo.

Protocolos básicos de red.

Hablaré brevemente sobre los protocolos que necesitamos en lecciones posteriores.

Un protocolo de red es un conjunto de acuerdos, reglas que definen el intercambio de datos en una red. No vamos a implementar estos protocolos a un nivel bajo. Tenemos la intención de utilizar módulos de hardware y software ya preparados que implementen protocolos de red. Por tanto, no es necesario entrar en detalles sobre los formatos de cabeceras, datos, etc. Pero es necesario saber por qué es necesario cada protocolo, en qué se diferencia de los demás y cuándo se utiliza.

Protocolo IP.

El protocolo Internet entrega paquetes de datos de un dispositivo de red a otro. El protocolo IP une las redes locales en una única red global, asegurando la transferencia de paquetes de información entre cualquier dispositivo de red. De los protocolos presentados en esta lección, IP se encuentra en el nivel más bajo. Todos los demás protocolos lo utilizan.

El protocolo IP opera sin establecer conexiones. Simplemente intenta entregar el paquete a la dirección IP especificada.

IP trata cada paquete de datos como una unidad independiente, no conectada a otros paquetes. Es imposible transmitir una cantidad significativa de datos relacionados utilizando únicamente el protocolo IP. Por ejemplo, en las redes Ethernet el volumen máximo de datos de un paquete IP es de sólo 1500 bytes.

El protocolo IP no dispone de mecanismos para controlar la fiabilidad de los datos finales. Los códigos de control se utilizan únicamente para proteger la integridad de los datos del encabezado. Aquellos. IP no garantiza que los datos del paquete recibido sean correctos.

Si ocurre un error durante la entrega del paquete y el paquete se pierde, entonces IP no intenta reenviar el paquete. Aquellos. IP no garantiza que el paquete será entregado.

Brevemente sobre el protocolo IP podemos decir que:

  • entrega pequeños paquetes de datos individuales (no más de 1500 bytes) entre direcciones IP;
  • no garantiza que los datos entregados sean correctos;

Protocolo TCP.

El Protocolo de control de transmisión es el protocolo principal para transmitir datos en Internet. Utiliza la capacidad del protocolo IP para entregar información de un nodo a otro. Pero a diferencia de la propiedad intelectual:

  • Le permite transferir grandes cantidades de información. TCP proporciona la división de datos en paquetes y el "pegado" de datos en el lado receptor.
  • Los datos se transmiten con una conexión preestablecida.
  • Supervisa la integridad de los datos.
  • En caso de pérdida de datos, inicia solicitudes repetidas de paquetes perdidos y elimina la duplicación al recibir copias del mismo paquete.

Básicamente, el protocolo TCP elimina todos los problemas de entrega de datos. Si es posible, él los entregará. No es casualidad que este sea el principal protocolo de transferencia de datos en las redes. A menudo se utiliza la terminología de red TCP/IP.

Protocolo UDP.

El Protocolo de datagramas de usuario es un protocolo simple para la transferencia de datos sin conexión. Los datos se envían en una dirección sin verificar si el receptor está listo o confirmar la entrega. El tamaño de datos de un paquete puede ser de hasta 64 kBytes, pero en la práctica muchas redes sólo admiten tamaños de datos de 1500 bytes.

La principal ventaja de este protocolo es la próstata y la alta velocidad de transmisión. A menudo se utiliza en aplicaciones de velocidad crítica, como transmisiones de vídeo. En tales tareas, es preferible perder algunos paquetes que esperar a que lleguen los rezagados.

El protocolo UDP se caracteriza por:

  • es un protocolo sin conexión;
  • entrega pequeños paquetes individuales de datos entre direcciones IP;
  • no garantiza en absoluto que los datos serán entregados;
  • no informará al remitente si los datos fueron entregados y no retransmitirá el paquete;
  • no hay orden de paquetes, el orden de entrega de mensajes no está definido.

Protocolo HTTP.

Lo más probable es que escriba más sobre este protocolo en lecciones futuras. Ahora permítanme decirles brevemente que este es el Protocolo de transferencia de hipertexto. Se utiliza para recuperar información de sitios web. En este caso, el navegador web actúa como cliente y el dispositivo de red como servidor web.

En la próxima lección aplicaremos la tecnología cliente-servidor en la práctica utilizando una red Ethernet.

Enviar su buen trabajo a la base de conocimientos es fácil. Utilice el siguiente formulario

Los estudiantes, estudiantes de posgrado y jóvenes científicos que utilicen la base de conocimientos en sus estudios y trabajos le estarán muy agradecidos.

Publicado en http://www.allbest.ru/

[Ingrese texto]

Servidores. Conceptos básicos del servidor

Modelo cliente-servidor

Clasificación de servidores estándar.

Lista de literatura usada

Servidores. Conceptos básicos del servidor

Servidor (del servidor inglés, sirviendo). Dependiendo del propósito, existen varias definiciones del concepto de servidor.

1. Servidor (red): un nodo de red lógico o físico que atiende solicitudes a una dirección y/o nombre de dominio (nombres de dominio adyacentes), que consta de uno o un sistema de servidores de hardware en los que se ejecuta uno o un sistema de programas de servidor.

2. Servidor (software): software que recibe solicitudes de clientes (en arquitectura cliente-servidor).

3. Servidor (hardware): una computadora (o equipo informático especial) dedicado y/o especializado para realizar determinadas funciones de servicio.

3. Un servidor en tecnologías de la información es un componente de software de un sistema informático que realiza funciones de servicio a solicitud del cliente, proporcionándole acceso a determinados recursos.

Interrelación de conceptos. Una aplicación de servidor (servidor) se ejecuta en una computadora, también llamada "servidor", y cuando se considera la topología de la red, dicho nodo se denomina "servidor". En general, puede ser que una aplicación de servidor se esté ejecutando en una estación de trabajo normal, o que una aplicación de servidor que se ejecute en una computadora servidor dentro de la topología en cuestión actúe como un cliente (es decir, no es un servidor desde el punto de vista de la topología de la red).

Modelo cliente-servidor

Los conceptos de servidor y cliente y los roles que se les asignan forman el concepto de software cliente-servidor. El modelo cliente-servidor es otro enfoque para estructurar el sistema operativo (SO). En un sentido amplio, el modelo cliente-servidor presupone la presencia de un componente de software - un consumidor de un servicio - un cliente, y un componente de software - un proveedor de este servicio - un servidor. La interacción entre el cliente y el servidor está estandarizada para que el servidor pueda atender a clientes implementados de diferentes maneras y quizás por diferentes proveedores. El principal requisito es que soliciten los servicios del servidor de una forma que éste entienda. El iniciador del intercambio suele ser el cliente, que envía una solicitud de servicio al servidor, que se encuentra en estado de espera de la solicitud. El mismo componente de software puede ser cliente para un tipo de servicio y servidor para otro tipo de servicio. El modelo cliente-servidor es más un medio conceptual conveniente para representar claramente las funciones de un elemento de software particular en una situación dada, que una tecnología. Este modelo se utiliza con éxito no solo en la construcción de un sistema operativo, sino también en todos los niveles de software y, en algunos casos, tiene un significado más limitado y específico, aunque, naturalmente, conserva todas sus características generales. En relación con la estructuración del sistema operativo, la idea es dividirlo en varios procesos: servidores, cada uno de los cuales realiza un conjunto separado de funciones de servicio, por ejemplo, gestión de memoria, creación o programación de procesos. Cada servidor se ejecuta en modo de usuario. El cliente, que puede ser otro componente del sistema operativo o un programa de aplicación, solicita un servicio enviando un mensaje al servidor. El kernel del sistema operativo (llamado aquí microkernel), que se ejecuta en modo privilegiado, entrega un mensaje al servidor deseado, el servidor realiza la operación y luego el kernel devuelve los resultados al cliente mediante otro mensaje. Para interactuar con un cliente (o clientes, si se admite el trabajo simultáneo con varios clientes), el servidor asigna los recursos de comunicación entre procesos necesarios (memoria compartida, tubería, socket, etc.) y espera solicitudes para abrir una conexión (o, en de hecho, solicitudes del servicio prestado). Dependiendo del tipo de dicho recurso, el servidor puede atender procesos dentro de un sistema informático o procesos en otras máquinas a través de canales de datos (por ejemplo, un puerto COM) o conexiones de red.

El formato de las solicitudes de los clientes y las respuestas del servidor está determinado por el protocolo. Las especificaciones de protocolo abierto se describen mediante estándares abiertos; por ejemplo, los protocolos de Internet se definen en RFC.

Dependiendo de las tareas que se estén realizando, algunos servidores, en ausencia de solicitudes de servicio, pueden estar inactivos, esperando. Otros pueden realizar algún trabajo (por ejemplo, trabajar en la recopilación de información para dichos servidores, trabajar con los clientes puede ser una tarea secundaria);

Clasificación de servidores estándar.

Normalmente, cada servidor sirve uno (o varios protocolos similares) y los servidores se pueden clasificar según el tipo de servicio que brindan.

Los servidores universales son un tipo especial de programa de servidor que no proporciona ningún servicio por sí solo. En cambio, los servidores universales proporcionan servidores de servicios con una interfaz simplificada para interprocesar recursos de comunicación y/o acceso unificado de clientes a diferentes servicios. Hay varios tipos de servidores de este tipo:

inetd del inglés. Demonio de superservidor de Internet El demonio de servicio IP es una herramienta estándar en sistemas UNIX: un programa que le permite escribir servidores TCP/IP (y protocolos de red de otras familias) que funcionan con el cliente a través de flujos de entrada y salida estándar redirigidos por inetd ( entrada estándar y salida estándar).

RPC del inglés. La llamada a procedimiento remoto es un sistema para integrar servidores en forma de procedimientos disponibles para ser llamados por un usuario remoto a través de una interfaz unificada. La interfaz, inventada por Sun Microsystems para su sistema operativo (SunOS, Solaris; sistema Unix), se utiliza actualmente tanto en la mayoría de los sistemas Unix como en Windows.

Tecnologías cliente-servidor de aplicaciones de Windows:

(D-)COM (modelo de objetos componentes (distribuido) en inglés - modelo de objetos compuestos), etc. - Permite que algunos programas realicen operaciones en objetos de datos utilizando los procedimientos de otros programas. Inicialmente, esta tecnología está destinada a su “implementación y vinculación de objetos” (OLE English. Object Linking and Embedding), pero, en general, permite escribir una amplia gama de servidores de aplicaciones diferentes. COM solo funciona dentro de una computadora; se puede acceder a DCOM de forma remota a través de RPC.

Active-X: extensión COM y DCOM para crear aplicaciones multimedia.

Los servidores universales se suelen utilizar para escribir todo tipo de servidores de información, servidores que no necesitan ningún trabajo específico con la red, servidores que no tienen más tareas que atender a los clientes. Por ejemplo, los programas y scripts de consola normales pueden actuar como servidores para inetd.

La mayoría de los servidores Windows internos y específicos de red operan a través de servidores genéricos (RPC, (D-)COM).

Los servicios de red garantizan el funcionamiento de la red, por ejemplo, los servidores DHCP y BOOTP proporcionan la inicialización inicial de servidores y estaciones de trabajo, DNS: traducción de nombres a direcciones y viceversa.

Los servidores de túnel (por ejemplo, varios servidores VPN) y los servidores proxy proporcionan comunicación con una red a la que no se puede acceder mediante enrutamiento.

Los servidores AAA y Radius proporcionan autenticación, autorización y registro de acceso unificados en toda la red.

Servicios de información. Los servicios de información incluyen los servidores más simples que brindan información sobre el host (hora, día, motd), usuarios (finger, ident) y servidores para monitoreo, por ejemplo SNMP. La mayoría de los servicios de información operan a través de servidores universales.

Un tipo especial de servicio de información son los servidores de sincronización horaria: NTP; además de informar al cliente sobre la hora exacta, el servidor NTP sondea periódicamente varios otros servidores para corregir su propia hora. Además de la corrección de la hora, se analiza y ajusta la velocidad del reloj del sistema. La corrección de hora se realiza acelerando o ralentizando el reloj del sistema (dependiendo del sentido de corrección) para evitar problemas que puedan ocurrir con un simple cambio de hora.

Los servidores de archivos son servidores para proporcionar acceso a archivos en un disco de servidor.

En primer lugar, se trata de servidores de transferencia de archivos bajo demanda que utilizan los protocolos FTP, TFTP, SFTP y HTTP. El protocolo HTTP se centra en la transferencia de archivos de texto, pero los servidores también pueden enviar datos arbitrarios como archivos solicitados, por ejemplo, páginas web, imágenes, música, etc. creadas dinámicamente.

Otros servidores le permiten montar particiones del disco del servidor en el espacio del disco del cliente y trabajar completamente con los archivos que contienen. Los servidores de protocolo NFS y SMB lo permiten. Los servidores NFS y SMB funcionan a través de la interfaz RPC.

Desventajas de un sistema de servidor de archivos:

Carga muy alta en la red, mayores requisitos de ancho de banda. En la práctica, esto hace que sea casi imposible que un gran número de usuarios trabajen con grandes cantidades de datos simultáneamente.

El tratamiento de los datos se realiza en el ordenador de los usuarios. Esto implica mayores requisitos de hardware para cada usuario. Cuantos más usuarios haya, más dinero tendrás que gastar en equipar sus ordenadores.

El bloqueo de datos cuando los edita un usuario imposibilita que otros usuarios trabajen con estos datos.

Seguridad. Para poder trabajar con un sistema de este tipo, deberá otorgar a cada usuario acceso completo a todo el archivo, en el que puede estar interesado en un solo campo.

Los servidores de acceso a datos mantienen la base de datos y proporcionan datos cuando se solicita. Uno de los servidores más simples de este tipo es LDAP (Protocolo ligero de acceso a directorios).

No existe un protocolo único para acceder a los servidores de bases de datos, pero todos los servidores de bases de datos están unidos por el uso de reglas uniformes para generar consultas: el lenguaje SQL (lenguaje de consulta estructurado).

Los servicios de mensajería permiten al usuario enviar y recibir mensajes (normalmente mensajes de texto).

En primer lugar, se trata de servidores de correo electrónico que funcionan mediante el protocolo SMTP. El servidor SMTP recibe el mensaje y lo entrega al buzón local del usuario o a otro servidor SMTP (servidor de destino o intermedio). En computadoras multiusuario, los usuarios trabajan con el correo directamente en la terminal (o interfaz web). Para trabajar con el correo en una computadora personal, el correo se recupera del buzón a través de servidores que se ejecutan utilizando los protocolos POP3 o IMAP.

Para organizar conferencias, existen servidores de noticias que funcionan mediante el protocolo NNTP.

Para intercambiar mensajes en tiempo real, existen servidores de chat; un servidor de chat estándar funciona mediante el protocolo IRC: chat distribuido para Internet.

Existe una gran cantidad de otros protocolos de chat, como ICQ o Jabber.

Servidores de acceso remoto

Los servidores de acceso remoto, a través del programa cliente adecuado, proporcionan al usuario acceso de consola al sistema remoto.

Para proporcionar acceso a la línea de comando, se utilizan servidores telnet, RSH y SSH.

La interfaz gráfica para sistemas Unix, X Window System, tiene un servidor de acceso remoto incorporado, ya que fue desarrollado originalmente con esta capacidad. A veces, la capacidad de acceder de forma remota a la interfaz de X-Window se denomina incorrectamente "X-Server" (este es el término utilizado en X-Window para el controlador de video).

El servidor estándar para el acceso remoto a la interfaz gráfica de Microsoft Windows se denomina servidor de terminal.

El protocolo SNMP también proporciona algún tipo de gestión (más precisamente, monitorización y configuración). Para ello, el ordenador o el dispositivo hardware debe disponer de un servidor SNMP.

Los servidores de juegos se utilizan para que varios usuarios jueguen simultáneamente en una misma situación de juego. Algunos juegos tienen un servidor en la distribución principal y te permiten ejecutarlo en modo no dedicado (es decir, te permiten jugar en la máquina en la que se ejecuta el servidor).

Las soluciones de servidor son sistemas operativos y/o paquetes de software optimizados para que una computadora realice funciones de servidor y/o que contienen un conjunto de programas para implementar servicios típicos.

Un ejemplo de soluciones de servidor son los sistemas Unix, diseñados originalmente para implementar infraestructura de servidor o modificaciones de servidor de la plataforma Microsoft Windows.

También es necesario seleccionar paquetes de servidores y programas relacionados (por ejemplo, un servidor web/PHP/MySQL kit para una rápida implementación de alojamiento) para su instalación en Windows (Unix se caracteriza por la instalación modular o “por lotes” de cada componente, por lo que tales soluciones son raras).

En las soluciones de servidor integrado, la instalación de todos los componentes se realiza a la vez; todos los componentes están, en un grado u otro, estrechamente integrados y preconfigurados entre sí. Sin embargo, en este caso, sustituir uno de los servidores o aplicaciones secundarias (si sus capacidades no se ajustan a las necesidades) puede suponer un problema.

Las soluciones de servidor sirven para simplificar la organización de la infraestructura básica de TI de las empresas, es decir, para construir rápidamente una red completa en una empresa, incluso desde cero. Combinar aplicaciones de servidor individuales en una solución significa que la solución está diseñada para realizar las tareas más comunes; al mismo tiempo, se reduce significativamente la complejidad de la implementación y el costo total de propiedad de una infraestructura de TI construida sobre dichas soluciones.

El servidor proxy (del inglés proxy - "representante, autorizado") es un servicio en redes informáticas que permite a los clientes realizar solicitudes indirectas a otros servicios de red. Primero, el cliente se conecta al servidor proxy y solicita un recurso (por ejemplo, correo electrónico) ubicado en otro servidor. Luego, el servidor proxy se conecta al servidor especificado y obtiene el recurso de él, o devuelve el recurso desde su propio caché (en los casos en que el proxy tiene su propio caché). En algunos casos, el servidor proxy puede modificar la solicitud del cliente o la respuesta del servidor para ciertos propósitos. El servidor proxy también le permite proteger la computadora cliente de ciertos ataques a la red.

Conclusións

formato del servidornorteventanas roxy

Por tanto, cualquier red informática es esencialmente una red cliente-servidor. Un usuario que conecta su computadora a Internet estará tratando con una red cliente-servidor, e incluso si la computadora no tiene acceso a la red, lo más probable es que su software y él mismo estén organizados según el esquema cliente-servidor.

Lista de usosbañadoliteratura

1. Droga A.A., Zhukova P.N., Koponev D.N., Lukyanov D.B., Prokopenko A.N. Informática y Matemáticas. - Minsk, 2008.

2. Connolly T., Begg K. Bases de datos. Diseño, implementación y soporte. Teoría y práctica - 3ª ed. - M.: “Williams”, 2003.

3. Kuznetsov S.D. Conceptos básicos de bases de datos. - 1ª ed. - M.: “Universidad de Tecnologías de la Información de Internet - INTUIT.ru”, 2005.

4. Scott W. Ambler, Pramodkumar J. Sadalaj. Refactorización de bases de datos: diseño evolutivo - M.: Williams, 2007.

5. UN. Morozevich, A.M. Informática Zenevich. Minsk, 2008.

6.Titorenko G.A. Tecnologías de la información de gestión. M., Unidad: 2002.

7. Melnikov V. Protección de la información en sistemas informáticos. - M.: Finanzas y Estadísticas, Elektroninform, 1997.

Publicado en Allbest.ru

...

Documentos similares

    Conceptos básicos de servidores. Modelo cliente-servidor. Clasificación de servidores estándar. Desventajas del sistema de servidor de archivos. Métodos criptográficos de protección de la información. Servidores de acceso remoto. Métodos y medios para garantizar la seguridad de la información.

    prueba, agregada el 13/12/2010

    Información general sobre el sistema operativo Linux. Análisis de información sobre servidores. Aplicación básica de tecnologías cliente-servidor de Windows. Información sobre el servidor SQL. Información general sobre el servidor MySQL. Instalación y detalles de configuración del servidor MYSQL en LINUX.

    trabajo del curso, añadido el 16/12/2015

    Análisis de la arquitectura de un sistema de información, cuya estructura incluye sistemas servidor de archivos y cliente-servidor. Comparación de lenguajes de consulta SQL y QBE. Principios del desarrollo de aplicaciones de arquitectura cliente-servidor utilizando el lenguaje de consulta estructurado SQL.

    trabajo del curso, añadido el 11/04/2010

    Arquitectura cliente-servidor. Análisis del sistema de base de datos “Anuncios en Periódicos”, su diseño infológico y físico. Programación del lado del servidor SQL. Desarrollo de la parte cliente en Borland C++ Builder 6.0 y utilizando tecnologías Web.

    trabajo del curso, añadido el 07/07/2013

    Metodología y principales etapas del desarrollo de un sistema de pruebas para evaluar el nivel de conocimientos de los estudiantes utilizando tecnología Cliente-Servidor. Diseño de las partes cliente y servidor de este sistema de prueba, el procedimiento para la elaboración de informes finales.

    tesis, agregada el 08/11/2010

    Diseño de modelos físicos y lógicos de una base de datos remota para gasolineras. Desarrollo de una base de datos en el DBMS Firebird utilizando la utilidad IBExpert. Creación de una aplicación cliente para Windows utilizando tecnología cliente-servidor en el entorno C++ Builder.

    trabajo del curso, agregado 18/01/2017

    Creación de un producto de software basado en tecnología cliente-servidor que implementa el funcionamiento tolerante a fallos del sistema, que es capaz de conectar al cliente a un servidor alternativo en caso de pérdida de comunicación con el servidor principal (por ejemplo, un servidor meteorológico). ).

    trabajo del curso, añadido el 24/08/2012

    Diseño y desarrollo de una base de datos en el RDBMS Firebird. La secuencia de creación de una aplicación basada en tecnología cliente-servidor y que se ejecuta en el sistema operativo Windows. Procedimientos almacenados y desencadenadores. Acceso a la red y transacciones.

    trabajo del curso, añadido el 27/07/2013

    Bases de datos relacionales como parte de los sistemas de información corporativos, su construcción según los principios de la tecnología cliente-servidor. Principales características del DBMS Firebird. Diseño de una base de datos para el sistema de información "Componentes informáticos".

    trabajo del curso, añadido el 28/07/2013

    Arquitectura cliente-servidor. Procesamiento de datos en paralelo en sistemas multiprocesador. Modernización de sistemas de información obsoletos. Rasgos característicos de los DBMS de servidor modernos. El DBMS de servidor más popular. Consultas y transacciones distribuidas.

La arquitectura cliente-servidor se utiliza en una amplia gama de tecnologías de red utilizadas para acceder a diversos servicios de red. Veamos brevemente algunos tipos de dichos servicios (y servidores).

servidores web

Inicialmente, proporcionaban acceso a documentos de hipertexto a través de HTTP (Protocolo de transferencia de texto Huper). Ahora admiten capacidades avanzadas, en particular trabajar con archivos binarios (imágenes, multimedia, etc.).

Servidores de aplicaciones

Diseñado para la solución centralizada de problemas aplicados en un área temática determinada. Para ello, los usuarios tienen derecho ejecutar programas de servidor para su ejecución. El uso de servidores de aplicaciones reduce los requisitos de configuración del cliente y simplifica la administración general de la red.

Servidores de bases de datos

Los servidores de bases de datos se utilizan para procesar consultas de usuarios en lenguaje SQL. En este caso, el DBMS está ubicado en el servidor al que se conectan las aplicaciones cliente.

Servidores de archivos

Servidor de archivos víveres información en forma de archivos y proporciona a los usuarios acceso a ella. Por regla general, un servidor de archivos también ofrece un cierto nivel de protección contra el acceso no autorizado.

servidor proxy

Primero, actúa como intermediario, ayudando a los usuarios a obtener información de Internet mientras protege la red.

En segundo lugar, almacena la información solicitada con frecuencia en una memoria caché del disco local, entregándola rápidamente a los usuarios sin tener que volver a acceder a Internet.

Cortafuegos(cortafuegos)

Firewalls que analizan y filtran el tráfico de red que pasa para garantizar la seguridad de la red.

Servidores de correo

Proporcionar servicios de envío y recepción de mensajes de correo electrónico.

Servidores de acceso remoto (RAS)

Estos sistemas proporcionan comunicación con la red a través de líneas telefónicas. Un empleado remoto puede utilizar los recursos de una LAN corporativa conectándose a ella mediante un módem normal.

Estos son sólo algunos tipos de toda la variedad de tecnologías cliente-servidor utilizadas en redes locales y globales.

Para acceder a determinados servicios de red se utilizan clientes cuyas capacidades se caracterizan por el concepto de “grosor”. Define la configuración de hardware y software disponible para el cliente. Consideremos posibles valores límite:

Cliente ligero

Este término define un cliente cuyos recursos informáticos sólo son suficientes para ejecutar la aplicación de red requerida a través de una interfaz web. La interfaz de usuario de dicha aplicación está formada por medio estático HTML (no se proporciona ejecución de JavaScript), toda la lógica de la aplicación se ejecuta en el servidor.
Para que el cliente ligero funcione, basta con ofrecer la posibilidad de iniciar un navegador web, en cuya ventana se llevan a cabo todas las acciones. Por este motivo, a un navegador web se le suele denominar "cliente universal".

Cliente "gordo"

Se trata de una estación de trabajo o computadora personal que ejecuta su propio sistema operativo de disco y tiene el conjunto de software necesario. Los clientes pesados ​​recurren a los servidores de red principalmente en busca de servicios adicionales (por ejemplo, acceso a un servidor web o una base de datos corporativa).
Un cliente "pesado" también significa una aplicación de red cliente que se ejecuta en el sistema operativo local. Una aplicación de este tipo combina un componente de presentación de datos (la interfaz gráfica de usuario del sistema operativo) y un componente de aplicación (la potencia informática de la computadora cliente).

Recientemente, se ha utilizado cada vez más otro término: cliente “rico”. El cliente "rico" es una especie de compromiso entre los clientes "gruesos" y "ligeros". Al igual que el cliente "ligero", el cliente "rico" también presenta una interfaz gráfica, descrita mediante herramientas XML e incluyendo algunas funciones de los clientes pesados ​​(por ejemplo, interfaz de arrastrar y soltar, pestañas, ventanas múltiples, menús desplegables, etc.)

La lógica de aplicación del cliente "rico" también se implementa en el servidor. Los datos se envían en un formato de intercambio estándar, basado en el mismo XML (protocolos SOAP, XML-RPC) y son interpretados por el cliente.

A continuación se detallan algunos protocolos básicos de cliente enriquecido basados ​​en XML:

  • XAML (lenguaje de marcado de aplicaciones extensible): desarrollado por Microsoft, utilizado en aplicaciones en la plataforma .NET;
  • XUL (XML User Interface Language) es un estándar desarrollado dentro del proyecto Mozilla, utilizado, por ejemplo, en el cliente de correo electrónico Mozilla Thunderbird o el navegador Mozilla Firefox;
  • Flex es una tecnología multimedia basada en XML desarrollada por Macromedia/Adobe.

Conclusión

Entonces, La idea principal de la arquitectura cliente-servidor es dividir la aplicación de red en varios componentes., cada uno de los cuales implementa un conjunto específico de servicios. Los componentes de dicha aplicación pueden ejecutarse en diferentes computadoras, realizando funciones de servidor y/o cliente. Esto mejora la confiabilidad, la seguridad y el rendimiento de las aplicaciones de red y de la red en su conjunto.

Una de las funciones básicas del sistema de información de una organización de cualquier tamaño es asegurar el intercambio de información tanto dentro como fuera de la organización. Sin embargo, en este proceso existen problemas asociados con la velocidad del intercambio de información y el trabajo con información en modo de acceso compartido. Estos problemas se resuelven mediante productos de software que organizan el procesamiento de la información utilizando determinadas tecnologías. Actualmente, las tecnologías más utilizadas son:

Tecnología de servidor de archivos;

Tecnología cliente-servidor.

Servidor de archivos La tecnología funciona en un espacio de red con acceso a archivos DBMS almacenados en un servidor.

Procesamiento de una solicitud de usuario único:

· Acceder a la base de datos (consulta)

· Transferencia de datos mientras se bloquea el acceso de otros usuarios

· Tratamiento de datos en el ordenador del usuario

En una organización de servidor de archivos, el cliente trabaja con archivos remotos, lo que provoca una sobrecarga de tráfico significativa (dado que DBMS-FS opera en el lado del cliente, para recuperar datos útiles, en el caso general, es necesario ver todo archivo correspondiente en el lado del cliente).

En general, en una arquitectura de servidor de archivos tenemos un cliente "grueso" y un servidor muy "ligero" en el sentido de que casi todo el trabajo se realiza en el lado del cliente y el servidor sólo requiere suficiente capacidad de almacenamiento en disco.

Defectos servidor de archivos Los sistemas son obvios:

· Carga muy alta en la red, mayores requisitos de ancho de banda. En la práctica, esto hace que sea casi imposible que un gran número de usuarios trabajen con grandes cantidades de datos simultáneamente.

· El tratamiento de los datos se realiza en el ordenador del usuario. Esto implica mayores requisitos de hardware para cada usuario. Cuantos más usuarios haya, más dinero tendrás que gastar en equipar sus ordenadores.

· El bloqueo de datos cuando los edita un usuario hace imposible que otros usuarios trabajen con estos datos.

· Seguridad. Para poder trabajar con un sistema de este tipo, deberá otorgar a cada usuario acceso completo a todo el archivo, en el que puede estar interesado en un solo campo.

Tecnología cliente-servidor Divide la aplicación en dos partes, aprovechando las mejores características de ambos lados. La parte del cliente proporciona una interfaz interactiva, fácil de usar y generalmente gráfica, ubicada en la computadora del usuario. El servidor (programa) proporciona gestión de datos, intercambio de información, administración sofisticada y seguridad (ubicado en una computadora especialmente dedicada (servidor).

Tenga en cuenta que la interfaz entre la parte cliente de la aplicación y la parte cliente del servidor de la base de datos generalmente se basa en el uso del lenguaje SQL. Por lo tanto, funciones como, por ejemplo, el preprocesamiento de formularios destinados a consultas a la base de datos, o la generación de informes resultantes, se realizan en el código de la aplicación, y todas las llamadas al servidor de la base de datos se reducen a transmitir el texto de las declaraciones SQL. .

Dado que todo el trabajo con la base de datos (seleccionar, agregar, ejecutar activadores y procedimientos) ocurre en el lado del servidor, en una organización cliente-servidor los clientes pueden ser bastante "delgados" y el servidor debe ser "grueso" para poder satisfacer las necesidades de todos los clientes.

Si es necesario procesar información almacenada en la base de datos, una aplicación cliente que se ejecuta en la computadora del usuario que trabaja con la base de datos genera una consulta en SQL. El servidor de la base de datos acepta la solicitud y la procesa él mismo. No se transmite ninguna matriz de datos (archivo) a través de la red. Después de procesar la solicitud, solo el resultado se transfiere a la computadora del usuario, es decir, en el ejemplo anterior, una lista de órdenes de pago que cumplen con los criterios necesarios. El propio fichero, en el que se almacenaron los datos que sirvieron de fuente para el tratamiento, queda desbloqueado para su acceso por parte del propio servidor a petición de otros usuarios.

En los DBMS cliente-servidor serios, existen mecanismos adicionales que reducen la carga en la red y reducen los requisitos para las computadoras de los usuarios. Como ejemplo, daremos procedimientos almacenados, es decir, programas completos para procesar datos almacenados en una base de datos. En este caso ni siquiera se transfieren expresiones SQL del usuario al servidor: se transfiere una llamada de función con parámetros de llamada. De este modo, el lugar de trabajo del usuario se simplifica aún más y la lógica del programa se transfiere al servidor. El espacio de usuario se convierte simplemente en un medio para mostrar información. Todo esto significa una mayor reducción de la carga en la red y en las estaciones de trabajo de los usuarios.

Por lo tanto, todas las desventajas anteriores servidor de archivos Los circuitos se eliminan en la arquitectura. cliente-servidor:

  • Las matrices de datos no se transfieren a través de la red desde el servidor de la base de datos a la computadora del usuario. Se reducen los requisitos de ancho de banda de la red. Esto hace posible que una gran cantidad de usuarios trabajen simultáneamente con grandes cantidades de datos.
  • El procesamiento de datos se realiza en el servidor de la base de datos y no en el ordenador de los usuarios. Esto permite el uso de computadoras más simples y, por lo tanto, más económicas en los sitios de los clientes.
  • Los datos no son bloqueados (capturados) por un solo usuario.
  • El usuario no tiene acceso a todo el archivo, sino solo a los datos del mismo con los que el usuario tiene derecho a trabajar.



Arriba