draft-ietf-mmusic-rtsp-nat-evaluation-11.txt | draft-ietf-mmusic-rtsp-nat-evaluation-12.txt | |||
---|---|---|---|---|
Network Working Group M. Westerlund | Network Working Group M. Westerlund | |||
Internet-Draft Ericsson | Internet-Draft Ericsson | |||
Intended status: Informational T. Zeng | Intended status: Informational T. Zeng | |||
Expires: July 27, 2014 | Expires: July 27, 2014 | |||
January 23, 2014 | January 23, 2014 | |||
The Evaluation of Different Network Address Translator (NAT) Traversal | The Evaluation of Different Network Address Translator (NAT) Traversal | |||
Techniques for Media Controlled by Real-time Streaming Protocol (RTSP) | Techniques for Media Controlled by Real-time Streaming Protocol (RTSP) | |||
draft-ietf-mmusic-rtsp-nat-evaluation-11 | draft-ietf-mmusic-rtsp-nat-evaluation-12 | |||
Abstract | Abstract | |||
This document describes several Network Address Translator (NAT) | This document describes several Network Address Translator (NAT) | |||
traversal techniques that were considered to be used for establishing | traversal techniques that were considered to be used for establishing | |||
the RTP media flows controlled by the Real-time Streaming Protocol | the RTP media flows controlled by the Real-time Streaming Protocol | |||
(RTSP). Each technique includes a description of how it would be | (RTSP). Each technique includes a description of how it would be | |||
used, the security implications of using it and any other deployment | used, the security implications of using it and any other deployment | |||
considerations it has. There are also discussions on how NAT | considerations it has. There are also discussions on how NAT | |||
traversal techniques relate to firewalls and how each technique can | traversal techniques relate to firewalls and how each technique can | |||
skipping to change at page 4, line 41 | skipping to change at page 4, line 41 | |||
applicable to other protocols as long as they have similar | applicable to other protocols as long as they have similar | |||
properties. | properties. | |||
The resulting ICE-based RTSP NAT traversal mechanism is specified in | The resulting ICE-based RTSP NAT traversal mechanism is specified in | |||
"A Network Address Translator (NAT) Traversal mechanism for media | "A Network Address Translator (NAT) Traversal mechanism for media | |||
controlled by Real-Time Streaming Protocol (RTSP)" | controlled by Real-Time Streaming Protocol (RTSP)" | |||
[I-D.ietf-mmusic-rtsp-nat]. | [I-D.ietf-mmusic-rtsp-nat]. | |||
1.1. Network Address Translators | 1.1. Network Address Translators | |||
We begin by reviewing what "Network Address Translation (NAT) | We begin by reviewing two quotes from Section 3 in "Network Address | |||
Behavioral Requirements for Unicast UDP" [RFC4787] states about NATs | Translation (NAT) Behavioral Requirements for Unicast UDP" [RFC4787] | |||
and their Terminology in Section 3: | concering NATs and their terminology: | |||
"Readers are urged to refer to "IP Network Address Translator (NAT) | "Readers are urged to refer to [RFC2663] for information on NAT | |||
Terminology and Considerations" [RFC2663] for information on NAT | ||||
taxonomy and terminology. Traditional NAT is the most common type of | taxonomy and terminology. Traditional NAT is the most common type of | |||
NAT device deployed. Readers may refer to "Traditional IP Network | NAT device deployed. Readers may refer to [RFC3022] for detailed | |||
Address Translator (Traditional NAT)" [RFC3022] for detailed | ||||
information on traditional NAT. Traditional NAT has two main | information on traditional NAT. Traditional NAT has two main | |||
varieties -- Basic NAT and Network Address/Port Translator (NAPT). | varieties -- Basic NAT and Network Address/Port Translator (NAPT). | |||
NAPT is by far the most commonly deployed NAT device. NAPT allows | NAPT is by far the most commonly deployed NAT device. NAPT allows | |||
multiple internal hosts to share a single public IP address | multiple internal hosts to share a single public IP address | |||
simultaneously. When an internal host opens an outgoing TCP or UDP | simultaneously. When an internal host opens an outgoing TCP or UDP | |||
session through a NAPT, the NAPT assigns the session an external IP | session through a NAPT, the NAPT assigns the session a public IP | |||
address and port number, so that subsequent response packets from the | address and port number, so that subsequent response packets from the | |||
external endpoint can be received by the NAPT, translated, and | external endpoint can be received by the NAPT, translated, and | |||
forwarded to the internal host. The effect is that the NAPT | forwarded to the internal host. The effect is that the NAPT | |||
establishes a NAT mapping to translate the (private IP address, | establishes a NAT session to translate the (private IP address, | |||
private port number) tuple to a (external IP address, external port | private port number) tuple to a (public IP address, public port | |||
number) tuple, and vice versa, for the duration of the session. The | number) tuple, and vice versa, for the duration of the session. An | |||
external IP address is commonly a public one, but might be of other | issue of relevance to peer-to-peer applications is how the NAT | |||
type if the NAT is in itself in a private address domain. An issue | behaves when an internal host initiates multiple simultaneous | |||
of relevance to peer-to-peer applications is how the NAT behaves when | sessions from a single (private IP, private port) endpoint to | |||
an internal host initiates multiple simultaneous sessions from a | multiple distinct endpoints on the external network. In this | |||
single (private IP, private port) endpoint to multiple distinct | specification, the term "NAT" refers to both "Basic NAT" and "Network | |||
endpoints on the external network. In this specification, the term | Address/Port Translator (NAPT)"." | |||
"NAT" refers to both "Basic NAT" and "Network Address/Port Translator | ||||
(NAPT)". | ||||
This document uses the term "address and port mapping" as the | "This document uses the term "address and port mapping" as the | |||
translation between an external address and port and an internal | translation between an external address and port and an internal | |||
address and port. Note that this is not the same as an "address | address and port. Note that this is not the same as an "address | |||
binding" as defined in RFC 2663." | binding" as defined in RFC 2663." | |||
Note: In the above it would be more correct to use external | ||||
instead of public in the above text. The external IP address is | ||||
commonly a public one, but might be of other type if the NAT's | ||||
external side is in a private address domain. | ||||
In addition to the above quote there exists a number of address and | In addition to the above quote there exists a number of address and | |||
port mapping behaviors described in more detail in Section 4.1 of | port mapping behaviors described in more detail in Section 4.1 of | |||
"Network Address Translation (NAT) Behavioral Requirements for | "Network Address Translation (NAT) Behavioral Requirements for | |||
Unicast UDP" [RFC4787] that are highly relevant to the discussion in | Unicast UDP" [RFC4787] that are highly relevant to the discussion in | |||
this document. | this document. | |||
NATs also have a filtering behavior on traffic arriving on the | NATs also have a filtering behavior on traffic arriving on the | |||
external side. Such behavior affects how well different methods for | external side. Such behavior affects how well different methods for | |||
NAT traversal works through these NATs. See Section 5 of "Network | NAT traversal works through these NATs. See Section 5 of "Network | |||
Address Translation (NAT) Behavioral Requirements for Unicast UDP" | Address Translation (NAT) Behavioral Requirements for Unicast UDP" | |||
skipping to change at page 37, line 43 | skipping to change at page 37, line 43 | |||
[I-D.ietf-mmusic-rfc2326bis] | [I-D.ietf-mmusic-rfc2326bis] | |||
Schulzrinne, H., Rao, A., Lanphier, R., Westerlund, M., | Schulzrinne, H., Rao, A., Lanphier, R., Westerlund, M., | |||
and M. Stiemerling, "Real Time Streaming Protocol 2.0 | and M. Stiemerling, "Real Time Streaming Protocol 2.0 | |||
(RTSP)", draft-ietf-mmusic-rfc2326bis-39 (work in | (RTSP)", draft-ietf-mmusic-rfc2326bis-39 (work in | |||
progress), January 2014. | progress), January 2014. | |||
[I-D.ietf-mmusic-rtsp-nat] | [I-D.ietf-mmusic-rtsp-nat] | |||
Goldberg, J., Westerlund, M., and T. Zeng, "A Network | Goldberg, J., Westerlund, M., and T. Zeng, "A Network | |||
Address Translator (NAT) Traversal mechanism for media | Address Translator (NAT) Traversal mechanism for media | |||
controlled by Real-Time Streaming Protocol (RTSP)", draft- | controlled by Real-Time Streaming Protocol (RTSP)", draft- | |||
ietf-mmusic-rtsp-nat-17 (work in progress), November 2013. | ietf-mmusic-rtsp-nat-18 (work in progress), January 2014. | |||
[NICE] "Libnice - The GLib ICE implementation, | [NICE] "Libnice - The GLib ICE implementation, | |||
http://nice.freedesktop.org/wiki/", May 2013. | http://nice.freedesktop.org/wiki/", May 2013. | |||
[PJNATH] "PJNATH - Open Source ICE, STUN, and TURN Library, | [PJNATH] "PJNATH - Open Source ICE, STUN, and TURN Library, | |||
http://www.pjsip.org/pjnath/docs/html/", May 2013. | http://www.pjsip.org/pjnath/docs/html/", May 2013. | |||
[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, | [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, | |||
August 1980. | August 1980. | |||
End of changes. 9 change blocks. | ||||
22 lines changed or deleted | 23 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |