throbber
1!I!
`
`
`
` 1 | |
`
`DECLARATION OF SANDY GINOZA FORIETF
`RFC 3489: STUN - SIMPLE TRAVERSAL OF USER DATAGRAM PROTOCOL (UDP)
`THROUGH NETWORK ADDRESS TRANSLATORS (NATS)
`
`I, Sandy Ginoza, based on my personal knowledge and information, hereby declare as
`
`follows:
`
`1.
`
`Iam an employee of Association Management Solutions, LLC (AMS), which
`
`acts under contract to the Internet Society (ISOC) as the operator of the RFC Production
`
`Center, The RFC Production Center is part of the "RFC Editor" function, which prepares
`
`documents for publication and placesfiles in an online repository for the authoritative
`
`Request for Comments (RFC) series of documents (RFC Series), and preserves records
`
`relating to these documents. The RFC Series includes, among otherthings, the series of
`
`Internet standards developed by the Internet Engineering Task Force (IETF), an organized
`
`activity of ISOC. I hold the position of Director of the RFC Production Center. I began
`
`employment with AMSin this capacity on 6 January 2010.
`
`2.
`
`Among my responsibilities as Director of the RFC Production Center, I act as
`
`the custodian of recordsrelating to the RFC Series, and I am familiar with the record keeping
`
`practices relating to the RFC Series, including the creation and maintenance of such records.
`
`3.
`
`From June 1999 to 5 January 2010, I was an employeeof the Information
`
`SciencesInstitute at University of Southern California (ISI). I held various position titles with
`
`the RFC Editor project at IST, ending with Senior Editor.
`
`4,
`
`The RFC Editor function was conducted by ISI under contract to the United
`
`States governmentprior to 1998. In 1998, ISOC,in furtherance of its IETF activity, entered into
`
`the first in a series of contracts with ISI providing for ISI's performance of the RFC Editor
`
`function. Beginning in 2010, certain aspects of the RFC Editor function were assumed by the
`
`Apple Inc.
`Ex. 1019 - Page 1
`
`Apple Inc.
`Ex. 1019 - Page 1
`
`

`

`
`
`
`
`
`
`REC Production Center operation of AMS under contract to ISOC (acting through its IETF
`
`function and, in particular, the IETF Administrative Oversight Committee). The business records
`
`of the RFC Editor function as it was conducted by ISI are currently housed on the computer
`
`systems of AMS, as contractor to ISOC,
`
`5.
`
`I makethis declaration based on my personal knowledge and information
`
`contained in the business records of the RFC Editor as they are currently housed at AMS, or
`
`confirmation with other responsible RFC Editor personnel with such knowledge.
`
`6.
`
`Prior to 1998, the RFC Editor's regular practice was to publish RFCs, making
`
`them available from a repository via FTP. When a new RFC waspublished, an announcement
`
`of its publication, with information on how to access the RFC, would be typically sent out
`
`within 24 hours of the publication.
`
`7.
`
`Any RFC published on the RFC Editor website or via FTP was reasonably
`
`accessible to the public and was disseminated or otherwise available to the extent that persons
`
`interested and ordinarily skilled in the subject matter or art exercising reasonable diligence could
`
`have locatedit. In particular, the RFCs were indexed and placed in a public repository.
`
`8.
`
`The RFCsare kept in an online repository in the course of the RFC Editor's
`
`regularly conducted activity and ordinary course of business. The records are made pursuant to
`
`established procedures and are relied upon by the RFC Editor in the performanceofits functions.
`
`9.
`
`10.
`
`It is the regular practice of the RFC Editor to make and keep the RFC records.
`
`Based on those records, I can state that the publication date of RFC 3489 was
`
`March 2003 (date listed on the RFC), at which time it was reasonably accessible to the public
`either on the RFC Editor website or via FTP from a repository. A copy of that RFC is attached
`
`to this declaration as an exhibit.
`
`Apple Inc.
`Ex. 1019 - Page 2
`
`Apple Inc.
`Ex. 1019 - Page 2
`
`

`

`|
`
`i |
`
`
`
`Pursuant to Section 1746 of Title 28 of United States Code, I declare under penalty of
`
`perjury underthe laws of the United States of America that the foregoing is true and correct
`
`and that the foregoing is based upon personal knowledge and information and is believed to be
`
`true.
`
`\
`Date:
`seroeaiz.agys.,
`
`set \>
`ALTACHED CALIF. ACKNOWLEDGMENT
`;
`
`By:
`|
`yp atti
`
`/SpGinoza
`
`Apple Inc.
`Ex. 1019 - Page 3
`
`Apple Inc.
`Ex. 1019 - Page 3
`
`

`

` CALIFORNIA ALL-PURPOSE ACKNOWLEDGMENT CIVIL CODE $11189
`
`
`
`A notary public or other officer completing this certificate verifies only the identity of the individual who signed the
`document to whichthis certificate is attached, and not the truthfulness, accuracy, or validity of that document.
`
`State of California
`
`}
`
`)
`
`
`
`Date
`
`Here insert Name and Title of the Officer
`
`4
`
`.
`|
`County of Le ANGTES .
`CS.degaditto ~ Narary pubic
`On Septenletr UUpens before me,
`personally appeared
`Sandy Gine24
`Se
`Name(ofofSignerfef
`who proved to me on the basis of satisfactory evidence to be the person{é) whose name(ahisvare
`subscribed to the within instrument and acknowledged to me that he/sn¢/they executed the same !n
`his/aerptheirauthorized capacity(ies), and that by Fisther)their signaturefé) onthe instrument the person{s),
`or the entity upon behalf of which the person(g} acted, executed the instrument.
`1 certify under PENALTY OF PERJURY under the laws
`of the State of California that the foregoing paragraph
`is true and correct.
`
`|
`
`$.8.DELGADILO
`
`
`LosAngelesCounty
`Notary Public ~ California
`
`
`-YNN
`
`Commission # 2224720
`My Comm, Expires Cac 9, 2021
`:
`
`
`WITNESS my hand and official seal.
`Signature
`S - S -
`AQ(bo
`Signature of Notary Public
`
`Place Notary Seal Above
`
`OPTIONAL
`Though this section is optional, completing this information can deter alteration of the document or
`fraudulent reattachment ofthis form to an unintended document.
`
`Description of Attached Documen
`
`.
`
`.
`
`=
`

`
`Title orTypeof Document: yclaraoF Sanely Gera for {err LerPied:stun
`
`
`Document Date: Number of Pages:_®iv
`
`
`Signer(s) Other Than Named Above:_NM
`
`Capacity(ies) Claimed by Signer(s)
`
`Signer’s Name:
`Li Corporate Officer — Title(s):
`{| Partner — (C] Limited
`[1 General
`C] Individual
`C1] Attorney in Fact
`CJ Trustee
`=] Guardian or Conservator
`
`LJ Other:
`
`Signer’s Name:
`C1) Corporate Officer — Title(s):
`L1 Partner — LiLimited
`(1 General
`C) individual
`L] Attorney in Fact
`[_] Trustee
`[1] Guardian or Conservator
`L] Other:
`
`
`Signer is Representing:
`SignerIs Representing:
`
` ©2016 Nationalal Notary As‘Association« www.w NationalNotaty,org « (-800-5-US NOTARY (1-800-876-6.6827) item45907
`
`
`
`Apple Inc.
`Ex. 1019 - Page 4
`
`Apple Inc.
`Ex. 1019 - Page 4
`
`

`

`Network Working Group J. Rosenberg
`Request for Comments: 3489 J. Weinberger
`Category: Standards Track dynamicsoft
` C. Huitema
` Microsoft
` R. Mahy
` Cisco
` March 2003
`
` STUN - Simple Traversal of User Datagram Protocol (UDP)
` Through Network Address Translators (NATs)
`Status of this Memo
` This document specifies an Internet standards track protocol for the
` Internet community, and requests discussion and suggestions for
` improvements. Please refer to the current edition of the "Internet
` Official Protocol Standards" (STD 1) for the standardization state
` and status of this protocol. Distribution of this memo is unlimited.
`Copyright Notice
` Copyright (C) The Internet Society (2003). All Rights Reserved.
`Abstract
` Simple Traversal of User Datagram Protocol (UDP) Through Network
` Address Translators (NATs) (STUN) is a lightweight protocol that
` allows applications to discover the presence and types of NATs and
` firewalls between them and the public Internet. It also provides the
` ability for applications to determine the public Internet Protocol
` (IP) addresses allocated to them by the NAT. STUN works with many
` existing NATs, and does not require any special behavior from them.
` As a result, it allows a wide variety of applications to work through
` existing NAT infrastructure.
`Table of Contents
` 1. Applicability Statement ................................... 3
` 2. Introduction .............................................. 3
` 3. Terminology ............................................... 4
` 4. Definitions ............................................... 5
` 5. NAT Variations ............................................ 5
` 6. Overview of Operation ..................................... 6
` 7. Message Overview .......................................... 8
` 8. Server Behavior ........................................... 10
` 8.1 Binding Requests .................................... 10
`
`Rosenberg, et al. Standards Track [Page 1]
`RFC 3489 STUN March 2003
`
` 8.2 Shared Secret Requests .............................. 13
` 9. Client Behavior ........................................... 14
` 9.1 Discovery ........................................... 15
` 9.2 Obtaining a Shared Secret ........................... 15
`https://www.rfc-editor.org/rfc/rfc3489.txt
`1
`
`Apple Inc.
`Ex. 1019 - Page 5
`
`

`

` 9.3 Formulating the Binding Request ..................... 17
` 9.4 Processing Binding Responses ........................ 17
` 10. Use Cases ................................................. 19
` 10.1 Discovery Process ................................... 19
` 10.2 Binding Lifetime Discovery .......................... 21
` 10.3 Binding Acquisition ................................. 23
` 11. Protocol Details .......................................... 24
` 11.1 Message Header ...................................... 25
` 11.2 Message Attributes .................................. 26
` 11.2.1 MAPPED-ADDRESS .............................. 27
` 11.2.2 RESPONSE-ADDRESS ............................ 27
` 11.2.3 CHANGED-ADDRESS ............................. 28
` 11.2.4 CHANGE-REQUEST .............................. 28
` 11.2.5 SOURCE-ADDRESS .............................. 28
` 11.2.6 USERNAME .................................... 28
` 11.2.7 PASSWORD .................................... 29
` 11.2.8 MESSAGE-INTEGRITY ........................... 29
` 11.2.9 ERROR-CODE .................................. 29
` 11.2.10 UNKNOWN-ATTRIBUTES .......................... 31
` 11.2.11 REFLECTED-FROM .............................. 31
` 12. Security Considerations ................................... 31
` 12.1 Attacks on STUN ..................................... 31
` 12.1.1 Attack I: DDOS Against a Target ............. 32
` 12.1.2 Attack II: Silencing a Client ............... 32
` 12.1.3 Attack III: Assuming the Identity of a Client 32
` 12.1.4 Attack IV: Eavesdropping .................... 33
` 12.2 Launching the Attacks ............................... 33
` 12.2.1 Approach I: Compromise a Legitimate
` STUN Server ................................. 33
` 12.2.2 Approach II: DNS Attacks .................... 34
` 12.2.3 Approach III: Rogue Router or NAT ........... 34
` 12.2.4 Approach IV: MITM ........................... 35
` 12.2.5 Approach V: Response Injection Plus DoS ..... 35
` 12.2.6 Approach VI: Duplication .................... 35
` 12.3 Countermeasures ..................................... 36
` 12.4 Residual Threats .................................... 37
` 13. IANA Considerations ....................................... 38
` 14. IAB Considerations ........................................ 38
` 14.1 Problem Definition .................................. 38
` 14.2 Exit Strategy ....................................... 39
` 14.3 Brittleness Introduced by STUN ...................... 40
` 14.4 Requirements for a Long Term Solution ............... 42
` 14.5 Issues with Existing NAPT Boxes ..................... 43
` 14.6 In Closing .......................................... 43
`
`Rosenberg, et al. Standards Track [Page 2]
`RFC 3489 STUN March 2003
`
` 15. Acknowledgments ........................................... 44
` 16. Normative References ...................................... 44
` 17. Informative References .................................... 44
` 18. Authors' Addresses ........................................ 46
` 19. Full Copyright Statement................................... 47
`1. Applicability Statement
` This protocol is not a cure-all for the problems associated with NAT.
` It does not enable incoming TCP connections through NAT. It allows
` incoming UDP packets through NAT, but only through a subset of
` existing NAT types. In particular, STUN does not enable incoming UDP
` packets through symmetric NATs (defined below), which are common in
`https://www.rfc-editor.org/rfc/rfc3489.txt
`2
`
`Apple Inc.
`Ex. 1019 - Page 6
`
`

`

` large enterprises. STUN's discovery procedures are based on
` assumptions on NAT treatment of UDP; such assumptions may prove
` invalid down the road as new NAT devices are deployed. STUN does not
` work when it is used to obtain an address to communicate with a peer
` which happens to be behind the same NAT. STUN does not work when the
` STUN server is not in a common shared address realm. For a more
` complete discussion of the limitations of STUN, see Section 14.
`2. Introduction
` Network Address Translators (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] that describe how to build "NAT friendly" protocols,
` but many protocols simply cannot be constructed according to those
` guidelines. Examples of such protocols include almost all peer-to-
` peer protocols, such as multimedia communications, file sharing and
` games.
` To combat this problem, Application Layer Gateways (ALGs) have been
` embedded in NATs. ALGs perform the application layer functions
` required for a particular protocol to traverse a NAT. Typically,
` this involves rewriting application layer messages to contain
` translated addresses, rather than the ones inserted by the sender of
` the message. ALGs have serious limitations, including scalability,
` reliability, and speed of deploying new applications. To resolve
` these problems, the Middlebox Communications (MIDCOM) protocol is
` being developed [9]. MIDCOM allows an application entity, such as an
` end client or network server of some sort (like a Session Initiation
` Protocol (SIP) proxy [10]) to control a NAT (or firewall), in order
` to obtain NAT bindings and open or close pinholes. In this way, NATs
` and applications can be separated once more, eliminating the need for
` embedding ALGs in NATs, and resolving the limitations imposed by
` current architectures.
`
`Rosenberg, et al. Standards Track [Page 3]
`RFC 3489 STUN March 2003
`
` Unfortunately, MIDCOM requires upgrades to existing NAT and
` firewalls, in addition to application components. Complete upgrades
` of these NAT and firewall products will take a long time, potentially
` years. This is due, in part, to the fact that the deployers of NAT
` and firewalls are not the same people who are deploying and using
` applications. As a result, the incentive to upgrade these devices
` will be low in many cases. Consider, for example, an airport
` Internet lounge that provides access with a NAT. A user connecting
` to the NATed network may wish to use a peer-to-peer service, but
` cannot, because the NAT doesn't support it. Since the administrators
` of the lounge are not the ones providing the service, they are not
` motivated to upgrade their NAT equipment to support it, using either
` an ALG, or MIDCOM.
` Another problem is that the MIDCOM protocol requires that the agent
` controlling the middleboxes know the identity of those middleboxes,
` and have a relationship with them which permits control. In many
` configurations, this will not be possible. For example, many cable
` access providers use NAT in front of their entire access network.
` This NAT could be in addition to a residential NAT purchased and
` operated by the end user. The end user will probably not have a
` control relationship with the NAT in the cable access network, and
`https://www.rfc-editor.org/rfc/rfc3489.txt
`3
`
`Apple Inc.
`Ex. 1019 - Page 7
`
`

`

` may not even know of its existence.
` Many existing proprietary protocols, such as those for online games
` (such as the games described in RFC 3027 [11]) and Voice over IP,
` have developed tricks that allow them to operate through NATs without
` changing those NATs. This document is an attempt to take some of
` those ideas, and codify them into an interoperable protocol that can
` meet the needs of many applications.
` The protocol described here, Simple Traversal of UDP Through NAT
` (STUN), allows entities behind a NAT to first discover the presence
` of a NAT and the type of NAT, and then to learn the addresses
` bindings allocated by the NAT. STUN requires no changes to NATs, and
` works with an arbitrary number of NATs in tandem between the
` application entity and the public Internet.
`3. Terminology
` In this document, the key words "MUST", "MUST NOT", "REQUIRED",
` "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
` and "OPTIONAL" are to be interpreted as described in BCP 14, RFC 2119
` [1] and indicate requirement levels for compliant STUN
` implementations.
`
`Rosenberg, et al. Standards Track [Page 4]
`RFC 3489 STUN March 2003
`
`4. Definitions
` STUN Client: A STUN client (also just referred to as a client)
` is an entity that generates STUN requests. A STUN client can
` execute on an end system, such as a user's PC, or can run in a
` network element, such as a conferencing server.
` STUN Server: A STUN Server (also just referred to as a server)
` is an entity that receives STUN requests, and sends STUN
` responses. STUN servers are generally attached to the public
` Internet.
`5. NAT Variations
` It is assumed that the reader is familiar with NATs. It has been
` observed that NAT treatment of UDP varies among implementations. The
` four treatments observed in implementations are:
` 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 and port. Furthermore, any external host can send a
` packet to the internal host, by sending a packet to the mapped
` external address.
` 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 and port. Unlike a full cone NAT, an external
` host (with IP address X) can send a packet to the internal host
` only if the internal host had previously sent a packet to IP
` address X.
`
`https://www.rfc-editor.org/rfc/rfc3489.txt
`
`4
`
`Apple Inc.
`Ex. 1019 - Page 8
`
`

`

` Port Restricted Cone: A port restricted cone NAT is like a
` restricted cone NAT, but the restriction includes 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
` 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, are mapped to the same external IP address and
` port. If the same host sends a packet with the same source
` address and port, but to a different destination, a different
` mapping is used. Furthermore, only the external host that
` receives a packet can send a UDP packet back to the internal host.
`
`Rosenberg, et al. Standards Track [Page 5]
`RFC 3489 STUN March 2003
`
` Determining the type of NAT is important in many cases. Depending on
` what the application wants to do, it may need to take the particular
` behavior into account.
`6. Overview of Operation
` This section is descriptive only. Normative behavior is described in
` Sections 8 and 9.
` /-----\
` // STUN \\
` | Server |
` \\ //
` \-----/
`
` +--------------+ Public Internet
` ................| NAT 2 |.......................
` +--------------+
`
` +--------------+ Private NET 2
` ................| NAT 1 |.......................
` +--------------+
` /-----\
` // STUN \\
` | Client |
` \\ // Private NET 1
` \-----/
` Figure 1: STUN Configuration
` The typical STUN configuration is shown in Figure 1. A STUN client
` is connected to private network 1. This network connects to private
` network 2 through NAT 1. Private network 2 connects to the public
` Internet through NAT 2. The STUN server resides on the public
` Internet.
` STUN is a simple client-server protocol. A client sends a request to
`https://www.rfc-editor.org/rfc/rfc3489.txt
`5
`
`Apple Inc.
`Ex. 1019 - Page 9
`
`

`

` a server, and the server returns a response. There are two types of
` requests - Binding Requests, sent over UDP, and Shared Secret
` Requests, sent over TLS [2] over TCP. Shared Secret Requests ask the
` server to return a temporary username and password. This username
` and password are used in a subsequent Binding Request and Binding
` Response, for the purposes of authentication and message integrity.
`
`Rosenberg, et al. Standards Track [Page 6]
`RFC 3489 STUN March 2003
`
` Binding requests are used to determine the bindings allocated by
` NATs. The client sends a 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.
` There are some parameters in the request that allow the client to ask
` that the response be sent elsewhere, or that the server send the
` response from a different address and port. There are attributes for
` providing message integrity and authentication.
` The trick is using STUN to discover the presence of NAT, and to learn
` and use the bindings they allocate.
` The 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 and port to
` receive Real Time Transport Protocol (RTP) [12] traffic. When the
` application starts, the STUN client within the application sends a
` STUN Shared Secret Request to its server, obtains a username and
` password, and then sends it a Binding Request. STUN servers can be
` discovered through DNS SRV records [3], and it is generally assumed
` that the client is configured with the domain to use to find the STUN
` server. Generally, this will be the domain of the provider of the
` service the application is using (such a provider is incented to
` deploy STUN servers in order to allow its customers to use its
` application through NAT). Of course, a client can determine the
` address or domain name of a STUN server through other means. A STUN
` server can even be embedded within an end system.
` The STUN 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. Binding Requests are sent to the STUN server using UDP.
` When a Binding Request arrives at the STUN server, it may have passed
` through one or more NATs between the STUN client and the STUN server.
` As a result, the source address of the request received by the server
` will be the mapped address created by the NAT closest to the server.
` The STUN server copies that source IP address and port into a STUN
` Binding Response, and sends it back to the source IP address and port
` of the STUN request. For all of the NAT types above, this response
` will arrive at the STUN client.
` When the STUN client receives the STUN Binding Response, it compares
` 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,
` the STUN client is behind one or more NATs. In the case of a full-
` cone NAT, the IP address and port in the body of the STUN response
` are public, and can be used by any host on the public Internet to
` send packets to the application that sent the STUN request. An
` application need only listen on the IP address and port from which
`
`https://www.rfc-editor.org/rfc/rfc3489.txt
`
`6
`
`Apple Inc.
`Ex. 1019 - Page 10
`
`

`

`Rosenberg, et al. Standards Track [Page 7]
`RFC 3489 STUN March 2003
`
` the STUN request was sent. Any packets sent by a host on the public
` Internet to the public address and port learned by STUN will be
` received by the application.
` Of course, the host may not be behind a full-cone NAT. Indeed, it
` doesn't yet know what type of NAT it is behind. To determine that,
` the client uses additional STUN Binding Requests. The exact
` procedure is flexible, but would generally work as follows. The
` client would send a second STUN Binding Request, this time to a
` different IP address, but from the same source IP address and port.
` If the IP address and port in the response are different from those
` in the first response, the client knows it is behind a symmetric NAT.
` To determine if it's behind a full-cone NAT, the client can send a
` STUN 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 sent a Binding Request to
` IP address/port A/B using a source IP address/port of X/Y, the 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
` is behind a full cone NAT.
` STUN also allows the 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
` is behind a port restricted cone NAT or just a restricted cone NAT.
` It should be noted that the configuration in Figure 1 is not the only
` permissible configuration. The STUN server can be located anywhere,
` including within another client. The only requirement is that the
` STUN server is reachable by the client, and if the client is trying
` to obtain a publicly routable address, that the server reside on the
` public Internet.
`7. Message Overview
` STUN messages are TLV (type-length-value) encoded using big endian
` (network ordered) binary. All STUN messages start with a STUN
` header, followed by a STUN payload. The payload is a series of STUN
` attributes, the set of which depends on the message type. The STUN
` header contains a STUN message type, transaction ID, and length. The
` message type can be Binding Request, Binding Response, Binding Error
` Response, Shared Secret Request, Shared Secret Response, or Shared
` Secret Error Response. The transaction ID is used to correlate
` requests and responses. The length indicates the total length of the
` STUN payload, not including the header. This allows STUN to run over
` TCP. Shared Secret Requests are always sent over TCP (indeed, using
` TLS over TCP).
`
`Rosenberg, et al. Standards Track [Page 8]
`RFC 3489 STUN March 2003
`
` Several STUN attributes are defined. The first is a MAPPED-ADDRESS
` attribute, which is an IP address and port. It is always placed in
`https://www.rfc-editor.org/rfc/rfc3489.txt
`7
`
`Apple Inc.
`Ex. 1019 - Page 11
`
`

`

` the Binding Response, and it indicates the source IP address and port
` the server saw in the Binding Request. There is also a RESPONSE-
` ADDRESS attribute, which contains an IP address and port. The
` RESPONSE-ADDRESS attribute can be present in the Binding Request, and
` indicates where the 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" and "change port"
` 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 is behind a restricted cone NAT or
` restricted port cone 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 Request.
` The fourth attribute is the CHANGED-ADDRESS attribute. It is present
` in Binding Responses. It informs the client of the source IP address
` and port that would be used if the client requested the "change IP"
` and "change port" behavior.
` The fifth attribute is the SOURCE-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
` twice NAT configurations.
` The sixth attribute is the USERNAME attribute. It is present in a
` Shared Secret Response, which provides the client with a temporary
` username and password (encoded in the PASSWORD attribute). The
` USERNAME is also present in Binding Requests, serving as an index to
` the shared secret used for the integrity protection of the Binding
` Request. The seventh attribute, PASSWORD, is only found in Shared
` Secret Response messages. The eight attribute is the MESSAGE-
` INTEGRITY attribute, which contains a message integrity check over
` the Binding Request or Binding Response.
` The ninth attribute is the ERROR-CODE attribute. This is present in
` the Binding Error Response and Shared Secret Error Response. It
` indicates the error that has occurred. The tenth attribute is the
` UNKNOWN-ATTRIBUTES attribute, which is present in either the Binding
` Error Response or Shared Secret Error Response. It indicates the
` mandatory attributes from the request which were unknown. The
` eleventh attribute is the REFLECTED-FROM attribute, which is present
` in Binding Responses. It indicates the IP address and port of the
`
`Rosenberg, et al. Standards

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket