Jump to content

Internet Gateway Device Protocol

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 145.40.197.101 (talk) at 12:42, 24 June 2023 (Compatibility issues). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Diagram of the UPnP's discovery phase

Internet Gateway Device (IGD) Protocol is a protocol based on Universal Plug and Play (UPnP) for mapping ports in network address translation (NAT) setups, supported by some NAT-enabled routers. It is a common communications protocol for automatically configuring port forwarding, and is part of an ISO/IEC Standard [1] rather than an Internet Engineering Task Force standard.

Usage

Applications using peer-to-peer networks, multiplayer gaming, and remote assistance programs need a way to communicate through home and business gateways. Without IGD one has to manually configure the gateway to allow traffic through, a process which is error-prone and time-consuming. Universal Plug and Play (UPnP) comes with a solution for network address translation traversal (NAT traversal) that implements IGD.

IGD makes it easy to do the following:

The host can allow seeking for available devices on the network via Simple Service Discovery Protocol (SSDP) which can be controlled then with the help of a network protocol such as SOAP. A discover request is sent via HTTP and port 1900 to the IPv4 multicast address 239.255.255.250 (for the IPv6 addresses see the Simple Service Discovery Protocol (SSDP)):

M-SEARCH * HTTP/1.1
HOST: 239.255.255.250:1900
MAN: "ssdp:discover"
MX: 2
ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1

Security risks

Malware can exploit the IGD protocol to bring connected devices under the control of a foreign user.[2][3] The Conficker worm is an example of a botnet created using this vector.[2]

Compatibility issues

Multiple compatibility problems exist due to the many different interpretations of the large IGDv1 and IGDv2 specifications. If UPnP is only used to control router port mappings and pinholes, there are alternative, simpler and more lightweight protocols such as PCP and NAT-PMP, both of which have been standardized as RFCs by the IETF. The alternatives are not yet known to have compatibility issues with different clients and servers. With UPnP IGD, on the other hand, many compatibility problems exist due to the many different interpretations of the large IGDv1 and IGDv2 specifications. One of these is with the UPnP IGD client integrated in current Windows and Xbox and IGDv2 routers which still exists since Windows XP and makes router port mappings impossible.[4]

See also

References

  1. ^ ISO/IEC 29341, http://www.iso.org/iso/home/news_index/news_archive/news.htm?refid=Ref1185
  2. ^ a b Danny Palmer (2017-07-19). "This sneaky malware will cause headaches even after it is deleted from your PC". ZDNet. Archived from the original on 2 Feb 2021. Retrieved 2021-02-02. {{cite web}}: |archive-date= / |archive-url= timestamp mismatch; 26 January 2021 suggested (help)
  3. ^ Mike Barwise (2008-01-15). "Unwanted remote configuration for home routers". Heise Media UK Ltd. Archived from the original on 8 December 2013. Retrieved 2012-07-21.
  4. ^ MiniUPnPd: Workaround: Detect FDSSDP as a microsoft client