El protocolo de control del dispositivo de puerta de enlace de Internet ( UPnP IGD ) es un protocolo basado en UPnP para mapear puertos en configuraciones de traducción de direcciones de red (NAT), admitido por algunos enrutadores habilitados para NAT . Es un protocolo de comunicaciones común para configurar automáticamente el reenvío de puertos y forma parte de un estándar ISO / IEC [1] [2] [3] [4] [5] [6] [7] en lugar de un estándar del Grupo de trabajo de ingeniería de Internet. .
Las aplicaciones que utilizan redes peer-to-peer , juegos multijugador y programas de asistencia remota necesitan una forma de comunicarse a través de puertas de enlace domésticas y comerciales. Sin IGD, uno tiene que configurar manualmente la puerta de enlace para permitir el paso del tráfico, un proceso que es propenso a errores y requiere mucho tiempo. UPnP viene con una solución para el recorrido de traducción de direcciones de red ( NAT transversal ) que implementa IGD.
IGD facilita lo siguiente:
UPnP IGDv2, publicado en 2010, agregó soporte para IPv6 y corrigió la idea errónea de un tiempo de arrendamiento infinito con un valor de 0. Las especificaciones son compatibles con versiones anteriores, pero existen problemas de compatibilidad, por ejemplo, con el cliente de Microsoft.
Existen numerosos problemas de compatibilidad debido a las diferentes interpretaciones de las muy grandes especificaciones IGDv1 e IGDv2, realmente compatibles con versiones anteriores. Uno de ellos es el cliente UPnP IGD integrado con los sistemas actuales Microsoft Windows y Xbox con enrutadores IGDv2 certificados. El problema de compatibilidad aún existe desde la introducción del cliente IGDv1 en Windows XP en 2001 y un enrutador IGDv2 sin una solución alternativa que imposibilita el mapeo de puertos del enrutador. [8]
Si UPnP solo se usa para controlar las asignaciones de puertos del enrutador y los orificios, existen protocolos alternativos, más nuevos, mucho más simples y livianos, como PCP y NAT -PMP , los cuales han sido estandarizados como RFC por el IETF. Aún no se sabe que estas alternativas tengan problemas de compatibilidad entre diferentes clientes y servidores, pero la adopción aún es baja. Para los enrutadores de consumo, actualmente solo se sabe que AVM y los proyectos de software de enrutador de código abierto OpenWrt , OPNsense y pfSense admiten PCP como alternativa a UPnP. La implementación de Fritz!Box UPnP IGDv2 y PCP de AVM ha tenido muchos errores desde su introducción. En muchos casos no funciona. [9] [10] [11] [12] [13]
El malware puede explotar el protocolo IGD para poner los dispositivos conectados bajo el control de un usuario extranjero. [14] [15] El gusano Conficker es un ejemplo de una botnet creada utilizando este vector . [14]
El host puede descubrir dispositivos IGDv1/IGDv2 disponibles con solo una BÚSQUEDA M para IGDv1 en la red a través del Protocolo simple de descubrimiento de servicios (SSDP), que luego se puede controlar con la ayuda de un protocolo de red como SOAP . Se envía una solicitud de descubrimiento a través de HTTP y el puerto 1900 a la dirección de multidifusión IPv4 239.255.255.250 (para las direcciones IPv6, consulte el Protocolo simple de descubrimiento de servicios (SSDP)):
BÚSQUEDA M * HTTP/1.1ANFITRIÓN: 239.255.255.250:1900HOMBRE: "ssdp: descubrir"MX: 2ST: urna:schemas-upnp-org:dispositivo:InternetGatewayDispositivo:1