RFC 3489:STUN - Simple Traversal of User Datagram ...
RFC-Ref

IP


Click on the red underlined text to get to the source

... NATs), while providing many benefits, also come with many drawbacks. The most troublesome of those drawbacks is the fact that they break many existing IP applications, and make it difficult to deploy new ones. Guidelines have been developed [8 ...
... (such as the games described in RFC 3027 [11]) and Voice over IP, have developed tricks that allow them to operate through NATs without ...


... Full Cone: A full cone NAT is one where all requests from the same internal IP address and port are mapped to the same external IP address ...
... IP address and port are mapped to the same external IP address and port. Furthermore, any external host can send a ...
... Restricted Cone: A restricted cone NAT is one where all requests from the same internal IP address and port are mapped to the same external IP address ...
... IP address and port are mapped to the same external IP address and port. Unlike a full cone NAT, an external ...
... NAT, an external host (with IP address X) can send a packet to the internal host only if the internal host ...
... host only if the internal host had previously sent a packet to IP address X. Port ...
... port numbers. Specifically, an external host can send a packet, with source IP address X and source port P, to the internal host only if the ...
... host only if the internal host had previously sent a packet to IP address X and port P. ...
... Symmetric: A symmetric NAT is one where all requests from the same internal IP address and port, to a specific destination IP address and port ...
... same internal IP address and port, to a specific destination IP address and port, are mapped to the same external IP address and ...
... port, to a specific destination IP address and port, are mapped to the same external IP address and port. If the same host ...


... Binding Request to the server, over UDP. The server examines the source IP address and port of the request, and copies them into a response that is sent back to the client ...
... STUN client is typically embedded in an application which needs to obtain a public IP address and port that can be used to receive data. For example, it might need to obtain an IP address ...
... IP address and port that can be used to receive data. For example, it might need to obtain an IP address and port to receive Real Time Transport Protocol ...
... Binding Request is used to discover the presence of a NAT, and to discover the public IP address and port mappings generated by the NAT ...
... NAT closest to the server. The STUN server copies that source IP address and port into a STUN ...
... STUN Binding Response, and sends it back to the source IP address and port of the STUN ...
... STUN Binding Response, it compares the IP address and port in the packet with the local IP address and ...
... the IP address and port in the packet with the local IP address and port it bound to when the request was sent. If these do not match, ...
... NATs. In the case of a full- cone NAT, the IP address and port in the body of the STUN response ...
... send packets to the application that sent the STUN request. An application need only listen on the IP address and port from which ...
... STUN Binding Request, this time to a different IP address, but from the same source IP address and port. ...
... Binding Request, this time to a different IP address, but from the same source IP address and port. If the IP address ...
... source IP address and port. If the IP address and port in the response are different from those in the first response, the client ...
... Binding Request with flags that tell the STUN server to send a response from a different IP address and port than the request was received on. In other words, if the client ...
... client sent a Binding Request to IP address/port A/B using a source IP address/port ...
... IP address/port A/B using a source IP address/port of X/Y, the STUN ...
... STUN server would send the Binding Response to X/Y using source IP address/port C/D. If the client receives this response, it knows it ...
... client to ask the server to send the Binding Response from the same IP address the request was received on, but with a different port. This can be used to detect whether the client ...


... STUN attributes are defined. The first is a MAPPED-ADDRESS attribute, which is an IP address and port. It is always placed in the Binding ...
... port. It is always placed in the Binding Response, and it indicates the source IP address and port the server saw in the Binding ...
... Binding Request. There is also a RESPONSE- ADDRESS attribute, which contains an IP address and port. The RESPONSE-ADDRESS ...
... Binding Response is to be sent. It's optional, and when not present, the Binding Response is sent to the source IP address and port of the Binding Request. ...
... The third attribute is the CHANGE-REQUEST attribute, and it contains two flags to control the IP address and port used to send the response. These flags are called "change IP ...
... IP address and port used to send the response. These flags are called "change IP" and "change port" flags. The CHANGE-REQUEST attribute is allowed only in the Binding ...
... flags. The CHANGE-REQUEST attribute is allowed only in the Binding Request. The "change IP" and "change port" flags are useful for determining whether the client ...
... NAT. They instruct the server to send the Binding Responses from a different source IP address and port. The CHANGE-REQUEST attribute is optional in the Binding ...
... in Binding Responses. It informs the client of the source IP address and port that would be used if the client ...
... and port that would be used if the client requested the "change IP" and "change port" behavior. ...
... ADDRESS attribute. It is only present in Binding Responses. It indicates the source IP address and port where the response was sent from. It is useful for detecting ...
... eleventh attribute is the REFLECTED-FROM attribute, which is present in Binding Responses. It indicates the IP address and port of the ...


... Binding Error Response is sent to the IP address and port the Binding Request came from, and sent ...
... port the Binding Request came from, and sent from the IP address and port the Binding Request was sent to. ...
... not understood. The Binding Error Response is sent to the IP address and port the Binding ...
... and port the Binding Request came from, and sent from the IP address and port the Binding ...
... ADDRESS attribute to the Binding Response. The IP address component of this attribute MUST be set to the source IP address observed in the Binding ...
... Response. The IP address component of this attribute MUST be set to the source IP address observed in the Binding Request. The port ...
... port of the Binding Response MUST be the value of the IP address and port in the RESPONSE-ADDRESS ...
... Binding Request was received on, and are summarized in Table 1. Let Da represent the destination IP address of the Binding Request (which will be either A1 or A2), and Dp represent the destination port ...
... flag was set in CHANGE-REQUEST attribute of the Binding Request, and the "change IP" flag was not set, the source IP address of the Binding ...
... Binding Request, and the "change IP" flag was not set, the source IP address of the Binding Response MUST be Da and the source port ...
... port of the Binding Response MUST be Cp. If the "change IP" flag was set in the Binding Request, and the "change port ...
... Binding Request, and the "change port" flag was not set, the source IP address of the Binding Response MUST be Ca and the source port of the ...
... port of the Binding Response MUST be Dp. When both flags are set, the source IP address of the Binding Response MUST be Ca and the source port of the ...
... Binding Response MUST be Cp. If neither flag is set, or if the CHANGE-REQUEST attribute is absent entirely, the source IP address of the Binding Response MUST be Da and the source port ...
... ADDRESS none Da Dp Ca:Cp Change IP Ca Dp Ca:Cp Change port Da Cp Ca:Cp ...
... Change port Da Cp Ca:Cp Change IP and Change port Ca Cp Ca:Cp ...
... ADDRESS attribute to the Binding Response. This contains the source IP address and port that would be used if the client ...
... port that would be used if the client had set the "change IP" and "change port" flags in the Binding ...
... Shared Secret Request, the REFLECTED-FROM attribute MUST contain the source IP address and port where that Shared Secret Request came ...
... username was not present in the request, and the server was willing to process the request, the REFLECTED-FROM attribute SHOULD contain the source IP address and port where the request came from. ...
... Shared Secret Error Response is sent to the source IP address and port that the request came from. ...
... prefix is some random text string (different for each shared secret request), rounded-time is the current time modulo 20 minutes, clientIP is the source IP address where the Shared Secret Request came from, and hmac is an HMAC ...
... prefix, rounded-time, and client IP, using a server private key. ...
... username itself, which will be present in the Binding Request, contains the source IP address where the Shared Secret Request came from. That allows the server to meet the requirements ...


... provider of the STUN servers. This domain name is resolved to an IP address and port using the SRV procedures specified in RFC 2782prop ...
... lookup of the domain name. The result will be a list of IP addresses, each of which can be contacted at the default port. ...
... First, the client determines the IP address and port that it will open a TCP connection ...
... client treats the domain name or IP address used in Section 9.1 as the host portion of the URI ...
... defined in Section 11. Any two requests that are not bit-wise identical, and not sent to the same server from the same IP address and port, MUST carry different transaction ...
... It is used if the client wishes the response to be sent to a different IP address and port than the one the request was sent from. This is useful for determining whether the client ...


... client sends a Binding Request with both the "change IP" and "change port" flags from the CHANGE-REQUEST attribute set. In test III, the client ...
... ADDRESS attribute. If this address and port are the same as the local IP address and port of the socket used to send the ...
... firewall. In the event that the IP address and port of the socket did not match ...
... address and port from the CHANGED-ADDRESS attribute from the response to test I. If the IP address and port returned in the MAPPED-ADDRESS ...
... N / \ Y / \ Y +--------+ UDP <-------/Resp\--------->/ IP \------------->| Test | Blocked \ ? / \Same/ | II | \ / \? / +--------+ ...
... Symmetric N / \ +--------+ N / \ V NAT <--- / IP \<-----| Test |<--- /Resp\ Open \Same/ | I | \ ? / Internet ...
... In order to make a voice call, the phone needs to obtain an IP address and port that it can place in the call setup message as the destination ...
... Binding Response. This Binding Request is passed to the media component, along with the IP address and port of the STUN ...
... Binding Response back to the control component. The control component receives this, and now has learned an IP address and port that will be routed back to the media component that sent the ...


... The MAPPED-ADDRESS attribute indicates the mapped IP address and port. It consists of an eight bit ...
... bit port, followed by a fixed length value representing the IP address. 0 1 2 3 ...
... The CHANGED-ADDRESS attribute indicates the IP address and port where responses would have been sent from if the "change IP ...
... IP address and port where responses would have been sent from if the "change IP" and "change port" flags had been set in the CHANGE-REQUEST attribute of the ...
... The meaning of the flags is: A: This is the "change IP" flag. If true, it requests the server to send the Binding Response with a different IP address ...
... IP" flag. If true, it requests the server to send the Binding Response with a different IP address than the one the Binding Request was received on. ...
... ADDRESS attribute is present in Binding Responses. It indicates the source IP address and port that the server is sending the response from. Its syntax is identical to that of MAPPED- ...
... ADDRESS attribute. The attribute contains the identity (in terms of IP address) of the source where the request came from. Its purpose is to provide traceability, so that a STUN ...


... ADDRESS. The MAPPED-ADDRESS it provides is an IP address that routes to nowhere. As a result, the client won't receive any of the packets it expects to receive when it ...
... can compromise the DNS, it can inject fake records which map a domain name to the IP address of a STUN server run by the attacker. This ...
... STUN request towards the server. This STUN request is identical to the one it saw, but with a spoofed source IP address. The spoofed address is equal to the one that the attacker ...
... DoS attack against the STUN server or the IP network, to prevent the valid response from being sent or received, is problematic. The attacker ...


... address bindings will result in an increase in latency for applications. For example, a Voice over IP application will see an increase of call setup delays equal to at least one RTT to the STUN ...
... X, and sends it to client B, B may not be able to send to A using that IP address. The address will not work if any of the following is true: ...
... That is because some NATs will not accept an internal packet sent to a public IP address which is mapped back to an internal address. To deal with this, additional protocol mechanisms or ...


... Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing", BCP 38, RFC 2827 ...
... Holdrege, M. and P. Srisuresh, "Protocol Complications with the IP Network Address Translator", RFC 3027, January 2001. ...



Google
Web
RFC-Ref