2.8+Servidores+Proxy.

Un **proxy **, en una red informática , es un programa o dispositivo que realiza una acción en representación de otro, esto es, si una hipotética máquina **//A //** solicita un recurso a una **//C //**, lo hará mediante una petición a **//B //**; **//C //** entonces no sabrá que la petición procedió originalmente de **//A //**. Esta situación estratégica de punto intermedio suele ser aprovechada para soportar una serie de funcionalidades: proporcionar caché, control de acceso, registro del tráfico, prohibir cierto tipo de tráfico etcétera.

 Su finalidad más habitual es la de **servidor proxy **, que consiste en interceptar las conexiones de red que un cliente hace a un servidor de destino, por varios motivos posibles como seguridad, rendimiento, anonimato, etc. Esta función de **servidor proxy ** puede ser realizada por un programa o dispositivo.



Características
La palabra **proxy ** significa //<span style="font-family: 'Arial','sans-serif';">intermediario // en inglés. <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Como se ve, **<span style="font-family: 'Arial','sans-serif';">proxy ** tiene un significado muy general, aunque siempre es sinónimo de **<span style="font-family: 'Arial','sans-serif';">intermediario **. Cuando un equipo de la red desea acceder a una información o recurso, es realmente el proxy quien realiza la comunicación y a continuación traslada el resultado al equipo inicial
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">El uso más común es el de **<span style="font-family: 'Arial','sans-serif';">servidor proxy **, que es un ordenador que intercepta las conexiones de red que un cliente hace a un servidor de destino.
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">De ellos, el más famoso es el **<span style="font-family: 'Arial','sans-serif';">servidor proxy web ** (comúnmente conocido solamente como «**<span style="font-family: 'Arial','sans-serif';">proxy **»). Intercepta la navegación de los clientes por páginas web, por varios motivos posibles: seguridad, rendimiento, anonimato, etc.
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">También existen proxies para otros protocolos, como el **<span style="font-family: 'Arial','sans-serif';">proxy de FTP **.
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">El proxy ARP puede hacer de enrutador en una red, ya que hace de intermediario entre ordenadores.
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Proxy (patrón de diseño) también es un patrón de diseño (programación) con el mismo esquema que el proxy de red.
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Un componente hardware también puede actuar como intermediario para otros.

<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;"> Hay dos tipos de proxys atendiendo a quien es el que quiere implementar la política del proxy:
 * **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">proxy local **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">: En este caso el que quiere implementar la política es el mismo que hace la petición. Por eso se le llama local. Suelen estar en la misma máquina que el cliente que hace las peticiones. Son muy usados para que el cliente pueda controlar el tráfico y pueda establecer reglas de filtrado que por ejemplo pueden asegurar que no se revela información privada (Proxys de filtrado para mejora de la privacidad).
 * **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">proxy externo **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">: El que quiere implementar la política del proxy es una entidad externa. Por eso se le llama externo. Se suelen usar para implementar cacheos, bloquear contenidos, control del tráfico, compartir IP, etc.

<span style="color: #000000; font-family: 'Arial','sans-serif';">Ventajas
<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">En general (no sólo en informática), los proxies hacen posible:
 * **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Control **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">: sólo el intermediario hace el trabajo real, por tanto se pueden limitar y restringir los derechos de los usuarios, y dar permisos sólo al proxy.
 * **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Ahorro **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">. Sólo //<span style="font-family: 'Arial','sans-serif';">uno // de los usuarios (el proxy) ha de estar preparado para hacer el trabajo real. Con estar **<span style="font-family: 'Arial','sans-serif';">preparado ** queremos decir que es el único que necesita los recursos necesarios para hacer esa funcionalidad. Ejemplos de recursos necesarios para hacer la función pueden ser la capacidad y lógica de cómputo o la dirección de red externa (IP).
 * **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Velocidad **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">. Si varios clientes van a pedir el mismo recurso, el proxy puede hacer <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">caché <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">: guardar la respuesta de una petición para darla directamente cuando otro usuario la pida. Así no tiene que volver a contactar con el destino, y acaba más rápido.
 * **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Filtrado **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">. El proxy puede negarse a responder algunas peticiones si detecta que están prohibidas.
 * **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Modificación **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">. Como intermediario que es, un proxy puede falsificar información, o modificarla siguiendo un algoritmo.
 * **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Anonimato **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">. Si todos lo usuarios se identifican como uno sólo, es difícil que el recurso accedido pueda diferenciarlos. Pero esto puede ser malo, por ejemplo cuando hay que hacer necesariamente la identificación.

<span style="color: #000000; font-family: 'Arial','sans-serif';">Desventajas
<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">En general (no sólo en informática), el uso de un intermediario puede provocar:
 * **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Abuso **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">. Al estar dispuesto a recibir peticiones de muchos <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">usuarios <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">y responderlas, es posible que haga algún trabajo que no toque. Por tanto, ha de controlar quién tiene acceso y quién no a sus servicios, cosa que normalmente es muy difícil.
 * **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Carga **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">. Un proxy ha de hacer el trabajo de //<span style="font-family: 'Arial','sans-serif';">muchos // usuarios.
 * **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Intromisión **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">. Es un paso más entre origen y destino, y algunos usuarios pueden no querer pasar por el proxy. Y menos si hace de <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">caché <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">y guarda copias de los datos.
 * **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Incoherencia **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">. Si hace de caché, es posible que se equivoque y dé una respuesta antigua cuando hay una más reciente en el recurso de destino. En realidad este problema no existe con los servidores proxy actuales, ya que se conectan con el servidor remoto para comprobar que la versión que tiene en cache sigue siendo la misma que la existente en el servidor remoto.
 * **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Irregularidad **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">. El hecho de que el proxy represente a más de un usuario da problemas en muchos escenarios, en concreto los que presuponen una comunicación directa entre 1 emisor y 1 receptor (como <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">TCP/IP <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">).

<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 17.3333px;">Aplicaciones
<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">El concepto de proxy es aplicado de muy distintas formas para proporcionar funcionalidades específicas.

<span style="color: #000000; font-family: 'Arial','sans-serif';">Proxy de web
<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Se trata de un proxy para una aplicación específica el acceso a la web (principalmente los protocolos <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">HTTP <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">y <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">HTTPS <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">). Aparte de la utilidad general de un proxy a veces proporciona una <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">caché <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">para las páginas web y los contenidos descargados. Cuando esto sucede se dice que el proxy web está haciendo un servicio de **<span style="font-family: 'Arial','sans-serif';">proxy-cache **. Esta <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">caché <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">es compartida por todos los usuario del proxy, con la consiguiente mejora en los tiempos de acceso para consultas coincidentes. Al mismo tiempo libera la carga de los enlaces hacia Internet.
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Funcionamiento:
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">El cliente realiza una petición (p. ej. mediante un navegador web) de un recurso de Internet (una página web o cualquier otro archivo) especificado por una <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">URL <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">.
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Cuando el //<span style="font-family: 'Arial','sans-serif';">proxy // caché recibe la petición, busca la URL resultante en su caché local. Si la encuentra, contrasta la fecha y hora de la versión de la página demanda con el servidor remoto. Si la página no ha cambiado desde que se cargo en caché la devuelve inmediatamente, ahorrándose de esta manera mucho tráfico pues sólo intercambia un paquete para comprobar la versión. Si la versión es antigua o simplemente no se encuentra en la caché, lo captura del servidor remoto, lo devuelve al que lo pidió y guarda o actualiza una copia en su caché para futuras peticiones.

<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 14px;">Posibles usos
<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Los proxys web pueden aportar una serie de funcionalidades interesantes en distintos ámbitos: <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">El caché utiliza normalmente un algoritmo configurable para determinar cuándo un documento está obsoleto y debe ser eliminado de la caché. Como parámetros de configuración utiliza la antigüedad, tamaño e histórico de acceso. Dos de esos algoritmos básicos son el LRU (el usado menos recientemente, en inglés "Least Recently Used") y el <span class="new" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">LFU <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">(el usado menos frecuentemente, "Least Frequently Used"). <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Los programas P2P se pueden aprovechar de la cache que proporcionadas por algunos proxys. Es el llamado Webcaché. Por ejemplo es usado en Lphant y algunos Mods del <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Emule <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">. <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Es frecuente el uso de este tipo de proxys en las propias máquinas de los usuarios (proxys locales) para implementar un paso intermedio y que las peticiones no sean liberadas/recibidas a/de la red sin haber sido previamente limpiadas de información o contenido peligroso o privado. Este tipo de proxys es típico en entornos donde hay mucha preocupación sobre la privacidad y se suele usar como paso previo a la petición del contenido a través de una <span class="new" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">red que persiga el anonimato <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">como puede ser <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">TOR <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">. Los programas más frecuentes para hacer este tipo de funcionalidad son: <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">El servidor proxy proporciona un punto desde el que se pueden gestionar de forma centralizada el tráfico web de muchos usuarios. Eso puede aprovecharse para muchas funciones adicionales a las típicas vistas anteriormente. Por ejemplo puede usarse para el establecimiento de **<span style="font-family: 'Arial','sans-serif';">controlar el tráfico de web ** de individuos concretos, **<span style="font-family: 'Arial','sans-serif';">establecer cómo se va a llegar a los servidores web ** de los que se quieren obtener los contenidos (por ejemplo el proxy puede configurarse para que en lugar de obtener los contenid s directamente, lo haga a través de la red <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">TOR <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">).
 * **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Reducción del tráfico **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;"> mediante la implementación de <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">caché <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">en el proxy. Las peticiones de páginas Web se hacen al servidor Proxy y no a Internet directamente. Por lo tanto se aligera el tráfico en la red y descarga los servidores destino, a los que llegan menos peticiones.
 * **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Mejora de la velocidad **<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;"> en tiempo de respuesta mediante la implementación de <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">caché <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">en el proxy. El servidor Proxy crea un caché que evita transferencias idénticas de la información entre servidores durante un tiempo (configurado por el administrador) así que el usuario recibe una respuesta más rápida. Por ejemplo supongamos que tenemos un ISP que tiene un servidor Proxy con <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">caché <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">. Si un cliente de ese <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">ISP <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">manda una petición por ejemplo a <span class="external" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Google <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">esta llegará al servidor Proxy que tiene este ISP y no irá directamente a la dirección IP del dominio de Google. Esta página concreta suele ser muy solicitada por un alto porcentaje de usuarios, por lo tanto el ISP la retiene en su Proxy por un cierto tiempo y crea una respuesta en mucho menor tiempo. Cuando el usuario crea una búsqueda en Google el servidor Proxy ya no es utilizado; el ISP envía su petición y el cliente recibe su respuesta ahora sí desde Google.
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">El proxy puede servir para implementar funciones de **<span style="font-family: 'Arial','sans-serif';">filtrado de contenidos **. Para ello es necesaria la configuración de una serie restricciones que indiquen lo que no se permite. Observar que esta funcionalidad puede se aprovechada no sólo para que ciertos usuarios no accedan a ciertos contenidos sino también para filtrar ciertos ficheros que se pueden considerar como peligrosos como pueden ser virus y otros contenidos hostiles servidos por servidores web remotos.
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Un proxy puede permitir **<span style="font-family: 'Arial','sans-serif';">esconder al servidor web la identidad ** del que solicita cierto contenido. El servidor web lo único que detecta es que la ip del proxy solicita cierto contenido. Sin embargo no puede determinar la ip origen de la petición. Además, si se usa una caché, puede darse el caso de que el contenido sea accedido muchas más veces que las detectadas por el servidor web que aloja ese contenido.
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Los proxys pueden ser aprovechados para dar un servicio web a una **<span style="font-family: 'Arial','sans-serif';">demanda de usuarios superior ** a la que sería posible sin ellos.
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">El servidor proxy puede **<span style="font-family: 'Arial','sans-serif';">modificar los contenidos **que sirven los servidores web originales. Puede haber diferentes motivaciones para hacer esto. Veamos algunos ejemplos:
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Algunos proxys pueden cambiar el formato de las páginas web para un propósito o una audiencia específicos (Ej. mostrar una página en un teléfono móvil o una PDA)//<span style="font-family: 'Arial','sans-serif';">traduciendo los contenidos //.
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Hay proxys que modifican el tráfico web para mejorar la privacidad del tráfico web con el servidor. Para ello se establecen unas reglas que el proxy tiene que cumplir. Por ejemplo el proxy puede ser configurado para bloquear direcciones y Cookies, para modificar cabeceras de las peticiones o quitar javascript que se considere peligroso.
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Privoxy: Se centra en el contenido web. No presta servicio de cache. Analiza el tráfico basándose en reglas predefinidas que se asocian a direcciones especificadas con expresiones regulares y que aplica a cabeceras, contenido, etc. Es altamente configurable. Tiene extensa documentación.
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Polipo: Tiene características que lo hacen más rápido que privoxy (cacheo, pipeline, uso inteligente de rango de peticiones) pero tiene la pega de que no viene configurado por defecto para proveer anonimicidad a nivel de la capa de aplicación.

<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 14px;">Inconvenientes
<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Un diseñador de páginas web puede indicar en el contenido de su web que los navegadores no hagan una caché de sus páginas, pero este método no funciona habitualmente para un proxy.
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Si se realiza un servicio de <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">caché <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">, las páginas mostradas pueden no estar actualizadas si éstas han sido modificadas desde la última carga que realizó el proxy caché.
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">El hecho de acceder a Internet a través de un Proxy, en vez de mediante conexión directa, dificulta (necesario configurar adecuadamente el proxy) realizar operaciones avanzadas a través de algunos puertos o protocolos.
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Almacenar las páginas y objetos que los usuarios solicitan puede suponer una violación de la intimidad para algunas personas.

<span style="color: #000000; font-family: 'Arial','sans-serif';">Web Proxy
<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Su funcionamiento se basa en el de un Proxy HTTP y HTTPs, pero la diferencia fundamental es que la petición se realiza mediante una Aplicación Web servida por un servidor <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">HTTP <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">al que se accede mediante una <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">URL <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">, esto es, una página web que permite estos servicios.

<span style="color: #000000; font-family: 'Arial','sans-serif';">Proxy SOCKS
<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Los proxy SOCKS son muy diferentes de los proxys 'normales'. Cuando por ejemplo usas un proxy <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">HTTP <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">lo que éste hace es coger las peticiones HTTP y hace la petición por ti y te devuelve los resultados. Haciendo un simil con la vida real es como si alguien nos pidera que le pasaramos la sal de la mesa y el proxy la cogiera y nos la diera.

<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;"> Sin embargo lo que hace el protocolo SOCKS, es casi equivalente a establecer un túnel IP con un firewall y a partir de ahí las peticiones del protocolo son entonces realizadas desde el firewall.

<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;"> El cliente negocia una conexión con el servidor proxy SOCKS usando el protocolo SOCKS, nivel 5 del modelo OSI (capa de sesión). Una vez establecida la conexión todas la comunicaciones entre el cliente y proxy se realizan usando el protocolo SOCKS. El cliente le dice al proxy SOCKS que es lo que quiere y el proxy se comunica con el servidor externo y obtiene los resultados y se los manda al cliente. De esta forma el servidor externo sólo tiene que estar accesible desde el proxy SOCKS que es el que se va a comunicar con él.

<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;"> El cliente que se comunica con SOCKS puede estar en la propia aplicación (Ej. <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Firefox <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">, <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">putty <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">), o bien en la pila de protocolos TCP/IP a donde la aplicación enviará los paquetes a un túnel SOCKS.

<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;"> En el proxy SOCKS es habitual implementar, como en la mayoría de proxys, autenticación y loggeo de de las sesiones.

<span style="color: #000000; font-family: 'Arial','sans-serif';">Proxies transparentes
<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Muchas organizaciones (incluyendo empresas, colegios y familias) usan los proxies para reforzar las políticas de uso de la red o para proporcionar seguridad y servicios de caché. Normalmente, un proxy Web o NAT no es transparente a la aplicación cliente: debe ser configurada para usar el proxy, manualmente. Por lo tanto, el usuario puede evadir el proxy cambiando simplemente la configuración. Una ventaja de tal es que se puede usar para redes de empresa.

<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;"> Un **<span style="font-family: 'Arial','sans-serif';">proxy transparente ** combina un servidor proxy con NAT (Network Address Translation) de manera que las conexiones son enrutadas dentro del proxy sin configuración por parte del cliente, y habitualmente sin que el propio cliente conozca de su existencia. Este es el tipo de proxy que utilizan los proveedores de servicios de internet (ISP).

<span style="color: #000000; font-family: 'Arial','sans-serif';">Reverse Proxy / Proxy inverso
<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Un //<span style="font-family: 'Arial','sans-serif';">reverse proxy // es un servidor proxy instalado en el domicilio de uno o más servidores web. Todo el tráfico entrante de Internet y con el destino de uno de esos servidores web pasa a través del servidor proxy. Hay varias razones para instalar un "reverse proxy":
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Seguridad: el servidor proxy es una capa adicional de defensa y por lo tanto protege los servidores web.
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Cifrado / Aceleración SSL: cuando se crea un sitio web seguro, habitualmente el cifrado SSL no lo hace el mismo servidor web, sino que es realizado por el "reverse proxy", el cual está equipado con un hardware de aceleración SSL (Security Sockets Layer).
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Distribución de Carga: el "reverse proxy" puede distribuir la carga entre varios servidores web. En ese caso, el "reverse proxy" puede necesitar reescribir las URL de cada página web (traducción de la URL externa a la URL interna correspondiente, según en qué servidor se encuentre la información solicitada).
 * <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Caché de contenido estático: Un "reverse proxy" puede descargar los servidores web almacenando contenido estático como imágenes u otro contenido gráfico.

<span style="color: #000000; font-family: 'Arial','sans-serif';">Proxy NAT (Network Address Translation) / Enmascaramiento
<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Otro mecanismo para hacer de intermediario en una red es el <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">NAT <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">.

<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;"> La traducción de direcciones de red (NAT, Network Address Translation) también es conocida como enmascaramiento de IPs. Es una técnica mediante la cual las direcciones fuente o destino de los paquetes IP son reescritas, sustituidas por otras (de ahí el "enmascaramiento").

<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;"> Esto es lo que ocurre cuando varios usuarios comparten una única conexión a Internet. Se dispone de una única dirección IP pública, que tiene que ser compartida. Dentro de la red de área local (LAN) los equipos emplean direcciones IP reservadas para uso privado y será el proxy el encargado de traducir las direcciones privadas a esa única dirección pública para realizar las peticiones, así como de distribuir las páginas recibidas a aquel usuario interno que la solicitó. Estas direcciones privadas se suelen elegir en rangos prohibidos para su uso en Internet como 192.168.x.x, 10.x.x.x, 172.16.x.x y 172.31.x.x

<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;"> Esta situación es muy común en empresas y domicilios con varios ordenadores en red y un acceso externo a Internet. El acceso a Internet mediante NAT proporciona una cierta seguridad, puesto que en realidad no hay conexión directa entre el exterior y la red privada, y así nuestros equipos no están expuestos a ataques directos desde el exterior.

<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;"> Mediante NAT también se puede permitir un acceso limitado desde el exterior, y hacer que las peticiones que llegan al proxy sean dirigidas a una máquina concreta que haya sido determinada para tal fin en el propio proxy.

<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;"> La función de NAT reside en los Cortafuegos y resulta muy cómoda porque no necesita de ninguna configuración especial en los equipos de la red privada que pueden acceder a través de él como si fuera un mero <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">encaminador <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">.

<span style="color: #000000; font-family: 'Arial','sans-serif';">Proxy abierto
<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Este tipo de proxy es el que acepta peticiones desde cualquier ordenador, esté o no conectado a su red.

<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;"> En esta configuración el proxy ejecutará cualquier petición de cualquier ordenador que pueda conectarse a él, realizándola como si fuera una petición del proxy. Por lo que permite que este tipo de proxy se use como pasarela para el envío masivo de correos de spam. Un proxy se usa, normalmente, para almacenar y redirigir servicios como el <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">DNS <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">o la navegación <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Web <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">, mediante el <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">cacheo <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">de peticiones en el servidor proxy, lo que mejora la velocidad general de los usuarios. Este uso es muy beneficioso, pero al aplicarle una configuración "abierta" a todo internet, se convierte en una herramienta para su uso indebido.

<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;"> Debido a lo anterior, muchos servidores, como los de <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">IRC <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">, o correo electrónicos, deniegan el acceso a estos proxys a sus servicios, usando normalmente listas negras ("BlackList").

<span style="color: #000000; font-family: 'Arial','sans-serif';">Cross-Domain Proxy
<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Típicamente usado por Tecnologías web asíncronas (flash, ajax, comet, etc) que tienen restricciones para establecer una comunicación entre elementos localizados en distintos dominios.

<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;"> En el caso de Ajax, por seguridad sólo se permite acceder al mismo dominio origen de la página web que realiza la petición. Si se necesita acceder a otros servicios localizados en otros dominios, se instala un **<span style="font-family: 'Arial','sans-serif';">Cross-Domain proxy ** en el dominio origen que recibe las peticiones ajax y las reenvia a los dominios externos.

<span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;"> En el caso de flash, también han solucionado creando la revisión de archivos <span class="mw-redirect" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">xml <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">de <span class="new" style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">Cross-Domain <span style="color: #000000; font-family: 'Arial','sans-serif'; font-size: 13.3333px;">, que permiten o no el acceso a ese dominio o subdominio.