¿Qué es Relay de Azure?What is Azure Relay?

El servicio Relay de Azure facilita las aplicaciones híbridas, ya que permite exponer de forma segura los servicios que se encuentran en una red corporativa en la nube pública sin tener que abrir una conexión de firewall y sin que sea necesario realizar cambios molestos en una infraestructura de red corporativa.The Azure Relay service facilitates hybrid applications by enabling you to securely expose services that reside within a corporate enterprise network to the public cloud, without having to open a firewall connection, or require intrusive changes to a corporate network infrastructure. Relay admite diversos protocolos de transporte y estándares de servicios web.Relay supports a variety of different transport protocols and web services standards.

El servicio de retransmisión admite mensajería unidireccional tradicional, de solicitud/respuesta y de punto a punto.The relay service supports traditional one-way, request/response, and peer-to-peer traffic. También admite la distribución de eventos en el ámbito de internet para habilitar escenarios de publicación/suscripción y la comunicación de socket bidireccional para aumentar la eficacia punto a punto.It also supports event distribution at internet-scope to enable publish/subscribe scenarios and bi-directional socket communication for increased point-to-point efficiency.

En el patrón de transferencia de datos, un servicio local se conecta al servicio de relé mediante un puerto de salida y crea un socket bidireccional para la comunicación enlazada a una dirección de encuentro concreta.In the relayed data transfer pattern, an on-premises service connects to the relay service through an outbound port and creates a bi-directional socket for communication tied to a particular rendezvous address. Después el cliente puede comunicarse con el servicio local enviando tráfico al servicio de retransmisión destinados a la dirección de encuentro.The client can then communicate with the on-premises service by sending traffic to the relay service targeting the rendezvous address. El servicio de retransmisión "retransmite" entonces los datos al servicio local a través de un socket bidireccional dedicado a cada cliente.The relay service then "relays" data to the on-premises service through a bi-directional socket dedicated to each client. El cliente no necesita una conexión directa al servicio local, no es necesario saber dónde reside el servicio, y el servicio local no necesita ningún puerto de entrada abierto en el firewall.The client does not need a direct connection to the on-premises service, it is not required to know where the service resides, and the on-premises service does not need any inbound ports open on the firewall.

Los elementos de las funcionalidades claves que proporciona Relay son mensajes bidireccionales y no almacenados en búfer en los límites de red con limitación de tipo TCP, detección de puntos de conexión, estado de conectividad y seguridad de puntos de conexión superpuesta.The key capability elements provided by Relay are bi-directional, unbuffered communication across network boundaries with TCP-like throttling, endpoint discovery, connectivity status, and overlaid endpoint security.

Las funcionalidades de Relay se diferencian de las tecnologías de integración en el nivel de red, como VPN, en que pueden alcanzar un punto de conexión de aplicaciones de un solo equipo, mientras que la tecnología VPN es mucho más intrusiva, ya que se basa en modificar el entorno de red.The relay capabilities differ from network-level integration technologies such as VPN, in that relay can be scoped to a single application endpoint on a single machine, while VPN technology is far more intrusive as it relies on altering the network environment.

Relay de Azure tiene dos características:Azure Relay has two features:

  1. Conexiones híbridas: usa los sockets web de estándar abierto, con lo que se admiten escenarios multiplataforma.Hybrid Connections - Uses the open standard web sockets enabling multi-platform scenarios.
  2. Retransmisiones de WCF: usa Windows Communication Foundation (WCF) para habilitar las llamadas a procedimientos remotos.WCF Relays - Uses Windows Communication Foundation (WCF) to enable remote procedure calls. WCF Relay es la oferta de Relay heredada que muchos clientes ya pueden utilizar con sus modelos de programación de WCF.WCF Relay is the legacy relay offering that many customers already use with their WCF programming models.

Conexiones híbridas y Retransmisiones de WCF habilitan una conexión segura a los recursos de dentro de una red corporativa.Hybrid Connections and WCF Relays both enable secure connection to assets that exist within a corporate enterprise network. El uso de una u otra depende de sus necesidades particulares que se detallan en la siguiente tabla:Use of one over the other is dependent on your particular needs, as described in the following table:

Retransmisión de WCFWCF Relay conexiones híbridasHybrid Connections
WCFWCF xx
.NET Core.NET Core xx
.NET Framework.NET Framework xx xx
JavaScript/NodeJSJavaScript/NodeJS xx
Protocolo abierto basado en estándaresStandards-Based Open Protocol xx
Varios modelos de programación de RPCMultiple RPC Programming Models xx

conexiones híbridasHybrid Connections

La funcionalidad Conexiones híbridas de Azure Relay es una evolución segura y de protocolo abierto de las características de Relay existentes que se pueden implementar en cualquier plataforma y en cualquier lenguaje.The Azure Relay Hybrid Connections capability is a secure, open-protocol evolution of the existing Relay features that can be implemented on any platform and in any language. Las conexiones híbridas pueden retransmitir WebSockets, así como las solicitudes y respuestas HTTP(S).Hybrid Connections can relay WebSockets as well as HTTP(S) requests and responses. Estas funcionalidades son compatibles con la API de WebSocket en los exploradores web más habituales.These capabilities are compatible with WebSocket API in common web browsers. Conexiones híbridas se basa en HTTP y WebSockets.Hybrid Connections is based on HTTP and WebSockets.

El protocolo está completamente documentado en la guía Protocolo de conexiones híbridas, que permite usar de Conexiones híbridas de Relay con prácticamente cualquier biblioteca de Websockets para cualquier runtime y cualquier lenguaje.The protocol is fully documented in the Hybrid Connections protocol guide, allowing use of the Hybrid Connections Relay with practically any Websockets library for any runtime and language.

Historial de serviciosService history

Conexiones híbridas sustituye a la anterior característica, denominada igualmente "BizTalk Services", que se basa en Retransmisión de WCF de Azure Service Bus.Hybrid Connections supplants the former, similarly named "BizTalk Services" feature that was built on the Azure Service Bus WCF Relay. La nueva funcionalidad Conexiones híbridas complementa a la característica Retransmisión de WCF existente y estas dos funcionalidades de servicio se ejecutarán en paralelo en el servicio Azure Relay.The new Hybrid Connections capability complements the existing WCF Relay feature and these two service capabilities exist side-by-side in the Azure Relay service. Aunque comparten una puerta de enlace común, se trata de implementaciones diferentes.They share a common gateway, but are otherwise different implementations.

Retransmisión de WCFWCF Relay

La retransmisión de WCF es totalmente compatible con NET Framework (NETFX) y WCF.WCF Relay works for the full .NET Framework (NETFX) and for WCF. La conexión entre el servicio local y el servicio de retransmisión se inicia mediante un conjunto de enlaces de “retransmisión” WCF.You initiate the connection between your on-premises service and the relay service using a suite of WCF "relay" bindings. En segundo plano, los enlaces de retransmisión se asignan a nuevos elementos de enlace de transporte diseñados para crear componentes de canal WCF que se integran con Service Bus en la nube.Behind the scenes, the relay bindings map to new transport binding elements designed to create WCF channel components that integrate with Service Bus in the cloud. Para más información, consulte Introducción a WCF Relay.For more information, see getting started with WCF Relay.

Arquitectura: Procesamiento de solicitudes entrantes de retransmisiónArchitecture: Processing of incoming relay requests

Cuando un cliente envía una solicitud a Azure Relay, Azure Load Balancer lo enruta a cualquiera de los nodos de puerta de enlace.When a client sends a request to the Azure Relay service, the Azure load balancer routes it to any of the gateway nodes. Si la solicitud es una solicitud de escucha, el nodo de puerta de enlace crea una nueva retransmisión.If the request is a listening request, the gateway node creates a new relay. Si la solicitud es una solicitud de conexión a una retransmisión específica, el nodo de puerta de enlace reenvía la solicitud de conexión al nodo de puerta de enlace que posee la retransmisión.If the request is a connection request to a specific relay, the gateway node forwards the connection request to the gateway node that owns the relay. El nodo de puerta de enlace que posee la retransmisión envía una solicitud de encuentro al cliente de escucha, solicitando al agente de escucha crear un canal temporal para el nodo de puerta de enlace que recibió la solicitud de conexión.The gateway node that owns the relay sends a rendezvous request to the listening client, asking the listener to create a temporary channel to the gateway node that received the connection request.

Cuando se establece la conexión de retransmisión, los clientes pueden intercambiar mensajes a través del nodo de puerta de enlace que se usa para el encuentro.When the relay connection is established, the clients can exchange messages via the gateway node that is used for the rendezvous.

Procesamiento de solicitudes entrantes de retransmisión WCF

Pasos siguientesNext steps