draft-ietf-dime-nat-control-03.txt | draft-ietf-dime-nat-control-04.txt | |||
---|---|---|---|---|
Internet Engineering Task Force F. Brockners | Internet Engineering Task Force F. Brockners | |||
Internet-Draft S. Bhandari | Internet-Draft S. Bhandari | |||
Intended status: Standards Track Cisco | Intended status: Standards Track Cisco | |||
Expires: January 13, 2011 V. Singh | Expires: April 19, 2011 V. Singh | |||
Mavenir Systems | Mavenir Systems | |||
V. Fajardo | V. Fajardo | |||
Telcordia Technologies | Telcordia Technologies | |||
July 12, 2010 | October 16, 2010 | |||
Diameter Network Address and Port Translation Control Application | Diameter Network Address and Port Translation Control Application | |||
draft-ietf-dime-nat-control-03 | draft-ietf-dime-nat-control-04 | |||
Abstract | Abstract | |||
This document describes the framework, messages, and procedures for | This document describes the framework, messages, and procedures for | |||
the Diameter Network address and port translation Control Application | the Diameter Network address and port translation Control | |||
(DNCA). The DNCA allows per endpoint control of large scale Network | Application. This Diameter application allows per endpoint control | |||
Address Translators (NATs) and Network Address and Port Translators | of large scale Network Address Translators and Network Address and | |||
(NAPTs), which are added to cope with IPv4-address space completion. | Port Translators, which are added to cope with IPv4-address space | |||
The DNCA allows external devices to configure and manage a NAT device | completion. This Diameter application allows external devices to | |||
- expanding the existing Diameter-based AAA and policy control | configure and manage a Network Address Translator device - expanding | |||
capabilities with a NAT and NAPT control component. These external | the existing Diameter-based AAA and policy control capabilities with | |||
devices can be network elements in the data plane such as a Network | a Network Address Translators and Network Address and Port | |||
Access Server (NAS), or can be more centralized control plane devices | Translators control component. These external devices can be network | |||
such as AAA-servers. DNCA establishes a context to commonly identify | elements in the data plane such as a Network Access Server, or can be | |||
and manage endpoints on a gateway or server, and a large scale NAT/ | more centralized control plane devices such as AAA-servers. This | |||
NAPT device. This includes, for example, the control of the total | Diameter application establishes a context to commonly identify and | |||
number of NAT bindings allowed or the allocation of a specific NAT | manage endpoints on a gateway or server, and a large scale Network | |||
binding for a particular endpoint. In addition, it allows large | Address Translator and Network Address and Port Translator device. | |||
scale NAT devices to provide information relevant to accounting | This includes, for example, the control of the total number of | |||
Network Address Translator bindings allowed or the allocation of a | ||||
specific Network Address Translator binding for a particular | ||||
endpoint. In addition, it allows large scale Network Address | ||||
Translator devices to provide information relevant to accounting | ||||
purposes. | purposes. | |||
Status of this Memo | Status of this Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on January 13, 2011. | ||||
This Internet-Draft will expire on April 19, 2011. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2010 IETF Trust and the persons identified as the | Copyright (c) 2010 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 3, line 29 | skipping to change at page 3, line 29 | |||
4.6. DNCA Manager and Agent Failures . . . . . . . . . . . . . 18 | 4.6. DNCA Manager and Agent Failures . . . . . . . . . . . . . 18 | |||
5. Use Of The Diameter Base Protocol . . . . . . . . . . . . . . 18 | 5. Use Of The Diameter Base Protocol . . . . . . . . . . . . . . 18 | |||
5.1. Securing Diameter Messages . . . . . . . . . . . . . . . . 19 | 5.1. Securing Diameter Messages . . . . . . . . . . . . . . . . 19 | |||
5.2. Accounting Functionality . . . . . . . . . . . . . . . . . 19 | 5.2. Accounting Functionality . . . . . . . . . . . . . . . . . 19 | |||
5.3. Use Of Sessions . . . . . . . . . . . . . . . . . . . . . 19 | 5.3. Use Of Sessions . . . . . . . . . . . . . . . . . . . . . 19 | |||
5.4. Routing Considerations . . . . . . . . . . . . . . . . . . 19 | 5.4. Routing Considerations . . . . . . . . . . . . . . . . . . 19 | |||
5.5. Advertising Application Support . . . . . . . . . . . . . 19 | 5.5. Advertising Application Support . . . . . . . . . . . . . 19 | |||
6. DNCA Commands . . . . . . . . . . . . . . . . . . . . . . . . 20 | 6. DNCA Commands . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
6.1. NAT-Control Request (NCR) Command . . . . . . . . . . . . 20 | 6.1. NAT-Control Request (NCR) Command . . . . . . . . . . . . 20 | |||
6.2. NAT-Control Answer (NCA) Command . . . . . . . . . . . . . 21 | 6.2. NAT-Control Answer (NCA) Command . . . . . . . . . . . . . 21 | |||
7. DNCA AVPs . . . . . . . . . . . . . . . . . . . . . . . . . . 22 | 7. NAT Control Application Session State Machine . . . . . . . . 22 | |||
7.1. Reused Base Protocol AVPs . . . . . . . . . . . . . . . . 22 | 8. DNCA AVPs . . . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
7.2. Additional Result-Code AVP Values . . . . . . . . . . . . 23 | 8.1. Reused Base Protocol AVPs . . . . . . . . . . . . . . . . 25 | |||
7.2.1. Success . . . . . . . . . . . . . . . . . . . . . . . 23 | 8.2. Additional Result-Code AVP Values . . . . . . . . . . . . 26 | |||
7.2.2. Transient Failures . . . . . . . . . . . . . . . . . . 24 | 8.2.1. Success . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
7.2.3. Permanent Failures . . . . . . . . . . . . . . . . . . 24 | 8.2.2. Transient Failures . . . . . . . . . . . . . . . . . . 26 | |||
7.3. Reused NASREQ Diameter Application AVPs . . . . . . . . . 25 | 8.2.3. Permanent Failures . . . . . . . . . . . . . . . . . . 27 | |||
7.4. Reused from RFC 4675 . . . . . . . . . . . . . . . . . . . 25 | 8.3. Reused NASREQ Diameter Application AVPs . . . . . . . . . 28 | |||
7.5. Reused from Diameter QoS Application . . . . . . . . . . . 26 | 8.4. Reused from RFC 4675 . . . . . . . . . . . . . . . . . . . 28 | |||
7.6. Reused from ETSI ES 283 034, e4 Diameter Application . . . 26 | 8.5. Reused from Diameter QoS Application . . . . . . . . . . . 28 | |||
7.7. DNCA Defined AVPs . . . . . . . . . . . . . . . . . . . . 27 | 8.6. Reused from ETSI ES 283 034, e4 Diameter Application . . . 29 | |||
7.7.1. NC-Request-Type AVP . . . . . . . . . . . . . . . . . 27 | 8.7. DNCA Defined AVPs . . . . . . . . . . . . . . . . . . . . 30 | |||
7.7.2. NAT-Control-Install AVP . . . . . . . . . . . . . . . 28 | 8.7.1. NC-Request-Type AVP . . . . . . . . . . . . . . . . . 30 | |||
7.7.3. NAT-Control-Remove AVP . . . . . . . . . . . . . . . . 28 | 8.7.2. NAT-Control-Install AVP . . . . . . . . . . . . . . . 31 | |||
7.7.4. NAT-Control-Definition AVP . . . . . . . . . . . . . . 29 | 8.7.3. NAT-Control-Remove AVP . . . . . . . . . . . . . . . . 31 | |||
7.7.5. NAT-Internal-Address AVP . . . . . . . . . . . . . . . 29 | 8.7.4. NAT-Control-Definition AVP . . . . . . . . . . . . . . 31 | |||
7.7.6. NAT-External-Address AVP . . . . . . . . . . . . . . . 30 | 8.7.5. NAT-Internal-Address AVP . . . . . . . . . . . . . . . 32 | |||
7.7.7. Max-NAT-Bindings . . . . . . . . . . . . . . . . . . . 30 | 8.7.6. NAT-External-Address AVP . . . . . . . . . . . . . . . 32 | |||
7.7.8. NAT-Control-Binding-Rule AVP . . . . . . . . . . . . . 30 | 8.7.7. Max-NAT-Bindings . . . . . . . . . . . . . . . . . . . 33 | |||
7.7.9. Duplicate-Session-Id AVP . . . . . . . . . . . . . . . 30 | 8.7.8. NAT-Control-Binding-Rule AVP . . . . . . . . . . . . . 33 | |||
8. Accounting Commands . . . . . . . . . . . . . . . . . . . . . 30 | 8.7.9. Duplicate-Session-Id AVP . . . . . . . . . . . . . . . 33 | |||
8.1. NAT Control Accounting Messages . . . . . . . . . . . . . 31 | 9. Accounting Commands . . . . . . . . . . . . . . . . . . . . . 33 | |||
8.2. NAT Control Accounting AVPs . . . . . . . . . . . . . . . 31 | 9.1. NAT Control Accounting Messages . . . . . . . . . . . . . 34 | |||
8.2.1. NAT-Control-Record . . . . . . . . . . . . . . . . . . 31 | 9.2. NAT Control Accounting AVPs . . . . . . . . . . . . . . . 34 | |||
8.2.2. NAT-Control-Binding-Status . . . . . . . . . . . . . . 31 | 9.2.1. NAT-Control-Record . . . . . . . . . . . . . . . . . . 34 | |||
8.2.3. Current-NAT-Bindings . . . . . . . . . . . . . . . . . 32 | 9.2.2. NAT-Control-Binding-Status . . . . . . . . . . . . . . 34 | |||
9. AVP Occurrence Table . . . . . . . . . . . . . . . . . . . . . 32 | 9.2.3. Current-NAT-Bindings . . . . . . . . . . . . . . . . . 35 | |||
9.1. DNCA AVP Table for NAT Control Initial and Update | 10. AVP Occurrence Table . . . . . . . . . . . . . . . . . . . . . 35 | |||
Requests . . . . . . . . . . . . . . . . . . . . . . . . . 33 | 10.1. DNCA AVP Table for NAT Control Initial and Update | |||
9.2. DNCA AVP Table for Session Query request . . . . . . . . . 33 | Requests . . . . . . . . . . . . . . . . . . . . . . . . . 35 | |||
9.3. DNCA AVP Table for NAT Control Terminate requests . . . . 33 | 10.2. DNCA AVP Table for Session Query request . . . . . . . . . 36 | |||
9.4. DNCA AVP Table for Accounting Message . . . . . . . . . . 34 | 10.3. DNCA AVP Table for Accounting Message . . . . . . . . . . 36 | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 34 | 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 37 | |||
10.1. Command Codes . . . . . . . . . . . . . . . . . . . . . . 34 | 11.1. Command Codes . . . . . . . . . . . . . . . . . . . . . . 37 | |||
10.2. AVP Codes . . . . . . . . . . . . . . . . . . . . . . . . 35 | 11.2. AVP Codes . . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
10.3. AVP Values . . . . . . . . . . . . . . . . . . . . . . . . 35 | 11.3. AVP Values . . . . . . . . . . . . . . . . . . . . . . . . 38 | |||
10.3.1. Result-Code AVP Values . . . . . . . . . . . . . . . . 35 | 11.3.1. Result-Code AVP Values . . . . . . . . . . . . . . . . 38 | |||
10.4. Application IDs . . . . . . . . . . . . . . . . . . . . . 36 | 11.4. Application IDs . . . . . . . . . . . . . . . . . . . . . 39 | |||
11. Security Considerations . . . . . . . . . . . . . . . . . . . 36 | 12. Security Considerations . . . . . . . . . . . . . . . . . . . 39 | |||
12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 37 | 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 39 | |||
13. Change History (to be removed prior to publication as an | 14. Change History (to be removed prior to publication as an | |||
RFC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 | RFC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 | |||
14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 38 | 15. References . . . . . . . . . . . . . . . . . . . . . . . . . . 41 | |||
14.1. Normative References . . . . . . . . . . . . . . . . . . . 38 | 15.1. Normative References . . . . . . . . . . . . . . . . . . . 41 | |||
14.2. Informative References . . . . . . . . . . . . . . . . . . 38 | 15.2. Informative References . . . . . . . . . . . . . . . . . . 41 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 39 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 42 | |||
1. Introduction | 1. Introduction | |||
Internet service providers have started to deploy Network Address | Internet service providers have started to deploy Network Address | |||
Translators (NATs) and Network Address and Port Translators (NAPTs) | Translators (NATs) and Network Address and Port Translators (NAPTs) | |||
at the edge of their networks to deal with the depletion of available | at the edge of their networks to deal with the depletion of available | |||
public IPv4 addresses. This document defines a Diameter application | public IPv4 addresses. This document defines a Diameter application | |||
for providers deploying such NAT and NAPT devices. The use of a | for providers deploying such NAT and NAPT devices. The use of a | |||
Diameter application allows for simple integration into the existing | Diameter application allows for simple integration into the existing | |||
AAA environment of a provider. | AAA environment of a provider. | |||
skipping to change at page 5, line 40 | skipping to change at page 5, line 40 | |||
* Allocation of an external IP address for a given internal IP | * Allocation of an external IP address for a given internal IP | |||
address: The allocated external IP address is reported back to | address: The allocated external IP address is reported back to | |||
the requestor. In some deployment scenarios, the application | the requestor. In some deployment scenarios, the application | |||
requires immediate knowledge of the allocated binding for a | requires immediate knowledge of the allocated binding for a | |||
given internal IP address but does not control the allocation | given internal IP address but does not control the allocation | |||
of the external IP address; for example, SIP-proxy server | of the external IP address; for example, SIP-proxy server | |||
deployments. | deployments. | |||
3. Defines the external address pool(s) to be used for allocating an | 3. Defines the external address pool(s) to be used for allocating an | |||
external IP address: External address pools can either be pre- | external IP address: External address pools can either be pre- | |||
assigned at the NAPT/NAT device, or specified within a request. | assigned at the NAPT/NAT, or specified within a request. If pre- | |||
If pre-assigned address pools are used, a request needs to | assigned address pools are used, a request needs to include a | |||
include a reference to identify the pool. Otherwise, the request | reference to identify the pool. Otherwise, the request contains | |||
contains a description of the IP address pool(s) to be used; for | a description of the IP address pool(s) to be used; for example, | |||
example, list of IP-subnets. | list of IP-subnets. Such External address pools can be used to | |||
select external IP address in NAPT/NAT bindings for multiple | ||||
subscribers. | ||||
4. Generates reports and accounting records: Reports established | 4. Generates reports and accounting records: Reports established | |||
bindings for a particular user. The collected information is | bindings for a particular user. The collected information is | |||
used by accounting systems for statistical purposes. | used by accounting systems for statistical purposes. | |||
5. Queries and retrieves details about bindings on demand: This | 5. Queries and retrieves details about bindings on demand: This | |||
feature complements the previously mentioned accounting | feature complements the previously mentioned accounting | |||
functionality(see item 4). The query functionality complements | functionality(see item 4). The query functionality complements | |||
alternative information query mechanisms, such as SNMP-based | alternative information query mechanisms, such as SNMP-based | |||
mechanism, if available. | mechanism, if available. | |||
skipping to change at page 7, line 4 | skipping to change at page 7, line 4 | |||
NAPT: Network Address and Port Translation | NAPT: Network Address and Port Translation | |||
NAT: Network Address Translation (NAT and NAPT are used in this | NAT: Network Address Translation (NAT and NAPT are used in this | |||
document interchangeably) | document interchangeably) | |||
NAT Binding or Binding: Association of two IP address/port pairs | NAT Binding or Binding: Association of two IP address/port pairs | |||
(with one IP address typically being private and the other one | (with one IP address typically being private and the other one | |||
public) to facilitate NAT | public) to facilitate NAT | |||
NAS: Network Access Server | NAS: Network Access Server | |||
NCR:NAT Control Request | ||||
NCA:NAT Control Answer | ||||
3. Deployment Framework | 3. Deployment Framework | |||
3.1. Deployment Scenario | 3.1. Deployment Scenario | |||
Figure 1 shows a typical network deployment for Internet access. A | Figure 1 shows a typical network deployment for Internet access. A | |||
user's IPv4 host gains access to the Internet though a NAS, which | user's IPv4 host gains access to the Internet though a NAS, which | |||
facilitates the authentication of the endpoint and configures the | facilitates the authentication of the endpoint and configures the | |||
user's connection according to the authorization and configuration | user's connection according to the authorization and configuration | |||
data received from the AAA-server upon successful authentication. | data received from the AAA-server upon successful authentication. | |||
skipping to change at page 7, line 38 | skipping to change at page 7, line 41 | |||
+---------+ +---------+ +----------+ | +---------+ +---------+ +----------+ | |||
<-------------------- Public IPv4 ----------------------> | <-------------------- Public IPv4 ----------------------> | |||
Figure 1: Typical network deployment for internet access | Figure 1: Typical network deployment for internet access | |||
Figure 2 depicts the deployment scenario when a service provider | Figure 2 depicts the deployment scenario when a service provider | |||
introduces a NAT device to increase the efficiency of the global IPv4 | introduces a NAT device to increase the efficiency of the global IPv4 | |||
address pool utilization. The objective is to provide the customer | address pool utilization. The objective is to provide the customer | |||
with connectivity to the public IPv4 Internet. The NAT device | with connectivity to the public IPv4 Internet. The NAT device | |||
performs network address and port and optionally address family | performs network address and port (and optionally address family) | |||
translation, depending on whether the access network uses private | translation, depending on whether the access network uses private | |||
IPv4 addresses or public IPv6 addresses, to public IPv4 addresses. | IPv4 addresses or public IPv6 addresses, to public IPv4 addresses. | |||
If the NAT device would be put in place without any endpoint | If the NAT device would be put in place without any endpoint | |||
awareness, the service offerings of the service provider could be | awareness, the service offerings of the service provider could be | |||
hampered. Provisioning static NAT bindings for particular endpoints, | hampered. Provisioning static NAT bindings for particular endpoints, | |||
using different public IP address pools for different sets of | using different public IP address pools for different set of | |||
endpoints; for example, residential or business customers, and | endpoints; for example, residential or business customers, and | |||
reporting allocated bindings on a per endpoint basis is burdensome | reporting allocated bindings on a per endpoint basis is burdensome | |||
for a service provider if the NAT device is not aware of endpoints | for a service provider if the NAT device is not aware of endpoints | |||
and allows per endpoint control and management, which easily | and allows per endpoint control and management, which easily | |||
integrates with the already existing per endpoint management | integrates with the already existing per endpoint management | |||
infrastructure of the service provider. | infrastructure of the service provider. | |||
+---------+ | +---------+ | |||
| | | | | | |||
| AAA | | | AAA | | |||
| | | | | | |||
+---------+ | +---------+ | |||
| | | | |||
| | | | |||
| | | | |||
| | | | |||
+--------+ +---------+ +---------+ +----------+ | +--------+ +---------+ +---------+ +----------+ | |||
skipping to change at page 8, line 15 | skipping to change at page 8, line 17 | |||
+---------+ | +---------+ | |||
| | | | | | |||
| AAA | | | AAA | | |||
| | | | | | |||
+---------+ | +---------+ | |||
| | | | |||
| | | | |||
| | | | |||
| | | | |||
+--------+ +---------+ +---------+ +----------+ | +--------+ +---------+ +---------+ +----------+ | |||
| IPv4 | | | | | | IPv4 | | | IPv4/ | | | | | | IPv4 | | |||
| Host |----| NAS |----| NAT |----| Internet | | | IPv6 |----| NAS |----| NAT |----| Internet | | |||
| | | | | | | | | | Host | | | | | | | | |||
+--------+ +---------+ +---------+ +----------+ | +--------+ +---------+ +---------+ +----------+ | |||
<-------- Private IPv4 -----------><--- Public IPv4 ---> | <-------- Private IPv4 -----------><--- Public IPv4 ---> | |||
<-------- Public IPv6 -----------><--- Public IPv4 ---> | <-------- Public IPv6 -----------><--- Public IPv4 ---> | |||
Figure 2: Access network deployment with LSN | Figure 2: Access network deployment with LSN | |||
3.2. Diameter NAPT Control Application Overview | 3.2. Diameter NAPT Control Application Overview | |||
The DNCA runs between a DNCA Agent on the NAT device and the DNCA | The DNCA runs between a DNCA Agent on the NAT and the DNCA Manager. | |||
Manager. DNCA allows per endpoint control and management of NAT. | DNCA allows per endpoint control and management of NAT. Based on | |||
Being based on Diameter, DNCA integrates well with the suite of | Diameter, DNCA integrates well with the suite of Diameter | |||
Diameter applications deployed for per endpoint authentication, | applications deployed for per endpoint authentication, authorization, | |||
authorization, accounting, and policy control in service provider | accounting, and policy control in service provider networks. | |||
networks. | ||||
DNCA offers: | DNCA offers: | |||
o Request and answer commands to control the allowed number of NAT | o Request and answer commands to control the allowed number of NAT | |||
bindings per endpoint , to request the allocation of specific | bindings per endpoint , to request the allocation of specific | |||
bindings for an endpoint, to define the address pool to be used | bindings for an endpoint, to define the address pool to be used | |||
for an endpoint. | for an endpoint. | |||
o Provides per endpoint reporting of the allocated NAT bindings. | o Provides per endpoint reporting of the allocated NAT bindings. | |||
o Provides unique identification of an endpoint on NAT device, AAA- | o Provides unique identification of an endpoint on NAT device, AAA- | |||
server and NAS, to simplify correlation of accounting data | server and NAS, to simplify correlation of accounting data | |||
streams. | streams. | |||
DNCA allows controlling the behavior of a NAT device on a per | DNCA allows controlling the behavior of a NAT device on a per | |||
endpoint basis during initial session establishment and at later | endpoint basis during initial session establishment and at later | |||
stages by providing an update procedure for already established | stages by providing an update procedure for already established | |||
sessions. Using DNCA, per endpoint NAT binding information can be | sessions. Using DNCA, per endpoint NAT binding information can be | |||
retrieved either using accounting mechanisms or through an explicit | retrieved either using accounting mechanisms or through an explicit | |||
session query to the NAT device. | session query to the NAT. | |||
3.3. Deployment Scenarios For DNCA | 3.3. Deployment Scenarios For DNCA | |||
The role of the Diameter NAT Control Manager can be fulfilled by | The role of the Diameter NAT Control Manager can be fulfilled by | |||
either the NAS or by an external server, such as AAA-server. The two | either the NAS or by an external server, such as AAA-server. The two | |||
deployment scenarios are outlined in Figure 3 ("integrated | deployment scenarios are outlined in Figure 3 ("integrated | |||
deployment") and Figure 4 ("autonomous deployment"). | deployment") and Figure 4 ("autonomous deployment"). | |||
Within the figures (M) denotes the network element, which takes on | Within the figures (M) denotes the network element, which takes on | |||
the DNCA Manager role. Similarly, (A) identifies the network | the DNCA Manager role. Similarly, (A) identifies the network | |||
skipping to change at page 9, line 35 | skipping to change at page 9, line 36 | |||
an external accounting system for correlating the information | an external accounting system for correlating the information | |||
received from multiple sources. | received from multiple sources. | |||
An example network attachment for an integrated NAT deployment can be | An example network attachment for an integrated NAT deployment can be | |||
described as follows: An endpoint connects to the network, with the | described as follows: An endpoint connects to the network, with the | |||
NAS being the point of attachment. After successful authentication, | NAS being the point of attachment. After successful authentication, | |||
NAS receives endpoint related authorization data from the AAA-server. | NAS receives endpoint related authorization data from the AAA-server. | |||
A portion of the authorization data applies to per endpoint | A portion of the authorization data applies to per endpoint | |||
configuration on the NAS itself, another portion describes | configuration on the NAS itself, another portion describes | |||
authorization and configuration information for NAT control aimed at | authorization and configuration information for NAT control aimed at | |||
the NAT device. NAS will initiate a DNCA session to the NAT device | the NAT device. NAS will initiate a DNCA session to the NAT and send | |||
and send the relevant authorization and configuration information for | the relevant authorization and configuration information for the | |||
the particular endpoint to the NAT device. This can comprise NAT | particular endpoint to the NAT device. This can comprise NAT | |||
bindings, which have to be pre-established for the endpoint, or | bindings, which have to be pre-established for the endpoint, or | |||
management related configuration, such as the maximum number of NAT | management related configuration, such as the maximum number of NAT | |||
bindings allowed for the endpoint or accounting requirements. The | bindings allowed for the endpoint or accounting requirements. The | |||
NAT device sends its per endpoint accounting information to the NAS, | NAT device sends its per endpoint accounting information to the NAS, | |||
which aggregates the accounting information received form the NAT | which aggregates the accounting information received form the NAT | |||
device with its local accounting information for the endpoint into a | device with its local accounting information for the endpoint into a | |||
single accounting stream towards the AAA-server. | single accounting stream towards the AAA-server. | |||
+---------+ | +---------+ | |||
| | | | | | |||
| AAA | | | AAA | | |||
| | | | | | |||
+---------+ | +---------+ | |||
| | | | |||
| | | | |||
| | | | |||
+--------+ +---------+ +---------+ +----------+ | +--------+ +---------+ +---------+ +----------+ | |||
| IPv4 | | (M) | | (A) | | IPv4 | | | IPv4/ | | (M) | | (A) | | IPv4 | | |||
| Host |----| NAS |----| NAT |----| Internet | | | IPv6 |----| NAS |----| NAT |----| Internet | | |||
| | | | | | | | | | Host | | | | | | | | |||
+--------+ +---------+ +---------+ +----------+ | +--------+ +---------+ +---------+ +----------+ | |||
<-------- Public IPv6 ----------><--- Public IPv4 ----> | <-------- Public IPv6 ----------><--- Public IPv4 ----> | |||
<-------- Private IPv4 ----------><--- Public IPv4 ----> | <-------- Private IPv4 ----------><--- Public IPv4 ----> | |||
Figure 3: LSN Control deployment: Integrated deployment | Figure 3: LSN Control deployment: Integrated deployment | |||
The autonomous deployment approach decouples user management on NAS | The autonomous deployment approach decouples user management on NAS | |||
and NAT device. The AAA system performing the role of the DNCA | and NAT device. The AAA system performing the role of the DNCA | |||
Manager manages the connection to the NAT device, controls the per | Manager manages the connection to the NAT device, controls the per | |||
endpoint configuration, and also receives accounting and reporting | endpoint configuration, and also receives accounting and reporting | |||
information from the NAT device. Different from the integrated | information from the NAT device. Different from the integrated | |||
deployment scenario, the autonomous deployment scenario does not | deployment scenario, the autonomous deployment scenario does not | |||
"hide" the existence of the NAT device from the AAA infrastructure. | "hide" the existence of the NAT device from the AAA infrastructure. | |||
Here two accounting streams are received by the AAA-server for one | Here two accounting streams are received by the AAA-server for one | |||
particular endpoint, one from the NAS, and one from the NAT device. | particular endpoint, one from the NAS, and one from the NAT device. | |||
+---------+ | +---------+ | |||
| (M) | | | (M) | | |||
| AAA | | | AAA |--------- | |||
| | | | | | | |||
+---------+ | +---------+ | | |||
| | | | | |||
| | | | | |||
| | | | | |||
+--------+ +---------+ +---------+ +----------+ | +--------+ +---------+ +---------+ +----------+ | |||
| IPv4 | | | | (A) | | IPv4 | | | IPv4/ | | | | (A) | | IPv4 | | |||
| Host |----| NAS |----| NAT |----| Internet | | | IPv6 |----| NAS |----| NAT |----| Internet | | |||
| | | | | | | | | | Host | | | | | | | | |||
+--------+ +---------+ +---------+ +----------+ | +--------+ +---------+ +---------+ +----------+ | |||
<-------- Public IPv6 ----------><---- Public IPv4 ---> | <-------- Public IPv6 ----------><---- Public IPv4 ---> | |||
<-------- Private IPv4 ----------><---- Public IPv4 ---> | <-------- Private IPv4 ----------><---- Public IPv4 ---> | |||
Figure 4: LSN Control deployment: Autonomous deployment | Figure 4: LSN Control deployment: Autonomous deployment | |||
4. DNCA Session Establishment and Management | 4. DNCA Session Establishment and Management | |||
Note that this section forward references some of the commands and | Note that this section forward references some of the commands and | |||
AVPs defined for the DNCA. Please refer to Section 6 and Section 7 | AVPs defined for the DNCA. Please refer to Section 6 and Section 8 | |||
for details. | for details. | |||
4.1. Parties Involved | 4.1. Parties Involved | |||
Authorization and control models supported by this application | Authorization and control models supported by this application | |||
include the following parties: | include the following parties: | |||
o DNCA Agent: The DNCA Agent is part of the Large Scale NAT (LSN) | o DNCA agent: The DNCA agent is part of the NAT device | |||
device | ||||
o DNCA Manager | o DNCA Manager | |||
The NAT control requesting entity is always the DNCA Manager. The | The NAT control requesting entity is always the DNCA Manager. The | |||
DNCA Manager always initiates, updates, or terminates the sessions. | DNCA Manager always initiates, updates, or terminates the sessions. | |||
This mode of operation is sometimes also referred to as "push mode". | This mode of operation is sometimes also referred to as "push mode". | |||
The DNCA Manager can be NAS or AAA-server. The DNCA Manager | The DNCA Manager can be NAS or AAA-server. The DNCA Manager | |||
initiates a session with the DNCA Agent when it learns about the | initiates a session with the DNCA agent when it learns about the | |||
subscriber. The DNCA Manager may learn about a subscriber when it | subscriber. The DNCA Manager may learn about a subscriber when it | |||
receives authentication, authorization, or accounting request for | receives authentication, authorization, or accounting request for | |||
that subscriber or by some other means, such as on the box | that subscriber or by some other means, such as on the box | |||
configuration to identify a subscriber with respect to his IP | configuration to identify a subscriber with respect to his IP | |||
packets. | packets. | |||
4.2. Session Establishment | 4.2. Session Establishment | |||
The DNCA Manager establishes a session with the DNCA Agent to control | The DNCA Manager establishes a session with the DNCA agent to control | |||
the behavior of the NAT device. During session establishment, the | the behavior of the NAT device. During session establishment, the | |||
DNCA Manager passes along configuration information to the DNCA | DNCA Manager passes along configuration information to the DNCA | |||
Agent. The session configuration information comprises the maximum | agent. The session configuration information comprises the maximum | |||
number of bindings allowed for the endpoint associated with this | number of bindings allowed for the endpoint associated with this | |||
session, a set of pre-defined NAT bindings to be established for this | session, a set of pre-defined NAT bindings to be established for this | |||
endpoint, or a description of the address pool, external addresses to | endpoint, or a description of the address pool, external addresses to | |||
be allocated from. | be allocated from. | |||
The DNCA Manager initiates the Diameter NAT Control session to the | The DNCA Manager initiates the Diameter NAT Control session to the | |||
DNCA Agent. The DNCA Manager generates a NAT-Control Request (NCR) | DNCA Agent. The DNCA Manager generates a NAT-Control Request (NCR) | |||
message to the DNCA Agent with NC-Request-Type AVP set to | message to the DNCA Agent with NC-Request-Type AVP set to | |||
INITIAL_REQUEST. On receipt of NCR the DNCA Agent sets up a new | INITIAL_REQUEST. On receipt of NCR the DNCA Agent sets up a new | |||
session for the endpoint associated with the endpoint classifier(s) | session for the endpoint associated with the endpoint classifier(s) | |||
contained in the NCR. The DNCA Agent notifies the DNCA Manager about | contained in the NCR. The DNCA agent notifies the DNCA Manager about | |||
successful session setup using a NAT-Control Answer (NCA) message | successful session setup using a NAT-Control Answer (NCA) message | |||
with Result-Code set to DIAMETER_SUCCESS. Figure 5 shows the | with Result-Code set to DIAMETER_SUCCESS. Figure 5 shows the | |||
protocol interaction between the DNCA Manager and the DNCA Agent. | protocol interaction between the DNCA Manager and the DNCA Agent. | |||
The initial NAT-Control-Request may contain configuration information | The initial NAT-Control-Request may contain configuration information | |||
for the session, which specifies the behavior of the NAT device for | for the session, which specifies the behavior of the NAT device for | |||
the session. The configuration information, which may be included, | the session. The configuration information, which may be included, | |||
comprises: | comprises: | |||
o A list of NAT bindings, which should be pre-allocated for the | o A list of NAT bindings, which should be pre-allocated for the | |||
skipping to change at page 13, line 43 | skipping to change at page 13, line 43 | |||
|<------------------------------------------| | |<------------------------------------------| | |||
| (result code) | | | (result code) | | |||
| | | | | | |||
| | | | | | |||
Figure 5: Initial NAT Control request and session establishment | Figure 5: Initial NAT Control request and session establishment | |||
4.3. Session Re-Authorization | 4.3. Session Re-Authorization | |||
Session re-authorization is performed if the DNCA Manager desires to | Session re-authorization is performed if the DNCA Manager desires to | |||
change the behavior of the NAT device for an existing session. Re- | change the behavior of the NAT for an existing session. Re- | |||
authorization could be used, for example, to change the number of | authorization could be used, for example, to change the number of | |||
allowed bindings for a particular session, or establish or remove a | allowed bindings for a particular session, or establish or remove a | |||
pre-defined binding. | pre-defined binding. | |||
The DNCA Manager generates a NC message to the DNCA Agent with NC- | The DNCA Manager generates a NC message to the DNCA Agent with NC- | |||
Request-Type AVP set to UPDATE_REQUEST upon receiving a trigger | Request-Type AVP set to UPDATE_REQUEST upon receiving a trigger | |||
signal. In case the session is updated successfully, the DNCA Agent | signal. In case the session is updated successfully, the DNCA Agent | |||
notifies the DNCA Manager about successful session update using a | notifies the DNCA Manager about successful session update using a | |||
NAT-Control Answer (NCA) message with Result-Code set to | NAT-Control Answer (NCA) message with Result-Code set to | |||
DIAMETER_SUCCESS. Figure 6 shows the protocol interaction between | DIAMETER_SUCCESS. Figure 6 shows the protocol interaction between | |||
skipping to change at page 14, line 47 | skipping to change at page 14, line 47 | |||
limit on NAT bindings. It depends on the implementation of the | limit on NAT bindings. It depends on the implementation of the | |||
NAT device on how the NAT device copes with a case where the new | NAT device on how the NAT device copes with a case where the new | |||
value is lower than the actual number of allocated bindings. | value is lower than the actual number of allocated bindings. | |||
Typically the NAT device refrains from enforcing the new limit | Typically the NAT device refrains from enforcing the new limit | |||
immediately; that is, actively remove bindings, but rather | immediately; that is, actively remove bindings, but rather | |||
disallow the establishment of new bindings until the current | disallow the establishment of new bindings until the current | |||
number of bindings is lower than the newly established maximum | number of bindings is lower than the newly established maximum | |||
number of allowed bindings. | number of allowed bindings. | |||
o If a NCR specifies a new binding rule, predefined on the DNCA | o If a NCR specifies a new binding rule, predefined on the DNCA | |||
Agent, the binding rule overrides any previously defined rules for | agent, the binding rule overrides any previously defined rules for | |||
the session. | the session. | |||
o If Max-NAT-Binding and NAT-Control-Definition AVPs are included in | o If Max-NAT-Binding and NAT-Control-Definition AVPs are included in | |||
the NCR along with a reference to a binding rule (a predefined | the NCR along with a reference to a binding rule (a predefined | |||
template on NAT device) and the values in Max-NAT-Binding and NAT- | template on NAT device) and the values in Max-NAT-Binding and NAT- | |||
Control-Definition AVPs contradict those specified in the pre- | Control-Definition AVPs contradict those specified in the pre- | |||
defined binding rule, Max-NAT-Binding and NAT-Control-Definition | defined binding rule, Max-NAT-Binding and NAT-Control-Definition | |||
AVPs override the values specified in the binding rule. | AVPs override the values specified in the binding rule. | |||
DNCA Manager DNCA Agent | DNCA Manager DNCA Agent | |||
skipping to change at page 16, line 44 | skipping to change at page 16, line 44 | |||
| | | | | | |||
| NCR | | | NCR | | |||
|------------------------------------------>| | |------------------------------------------>| | |||
| (QUERY_REQUEST) | | | (QUERY_REQUEST) | | |||
| | | | | | |||
| | | | | | |||
| | | | | | |||
| Look up corresponding session | | Look up corresponding session | |||
| and associated NAT Bindings | | and associated NAT Bindings | |||
| | | | | | |||
| NCA | | | NCA | | |||
|<------------------------------------------| | |<------------------------------------------| | |||
| (result code) | | | (Result-Code) | | |||
| | | | | | |||
| | | | | | |||
Figure 7: Session Query | Figure 7: Session Query | |||
4.5. Session Termination | 4.5. Session Termination | |||
The DNCA Manager generates a NAT-Control Request (NCR) message to the | The DNCA Manager generates a Session Terminate Request (STR) message | |||
DNCA Agent with NC-Request-Type AVP set to TERMINATE_REQUEST upon | to the DNCA Agent upon receiving a trigger signal. The source of the | |||
receiving a trigger signal. The DNCA Agent sends accounting stop | trigger signal is outside the scope of this document. The DNCA Agent | |||
record reporting all the bindings and notifies the DNCA Manager about | sends accounting stop record reporting all the bindings and notifies | |||
successful session termination using a NAT-Control Answer (NCA) | the DNCA Manager about successful session termination using a Session | |||
message with Result-Code set to DIAMETER_SUCCESS. Figure 8 shows the | Terminate Answer (STA) message with Result-Code set to | |||
protocol interaction between the DNCA Manager and the DNCA Agent. | DIAMETER_SUCCESS. Figure 8 shows the protocol interaction between | |||
the DNCA Manager and the DNCA Agent. | ||||
If a DNCA Agent receives a NCR from a DNCA Manager with NC-Request- | If a DNCA Agent receives STR from a DNCA Manager and fails to find a | |||
Type AVP set to TERMINATE_REQUEST and fails to find a matching | matching session, the DNCA Agent returns STA with Result-Code set to | |||
session, the DNCA Agent returns NCA with Result-Code set to | ||||
DIAMETER_UNKNOWN_SESSION_ID. | DIAMETER_UNKNOWN_SESSION_ID. | |||
DNCA Manager DNCA Agent | DNCA Manager DNCA Agent | |||
| | | | | | |||
| | | | | | |||
Trigger | | Trigger | | |||
| | | | | | |||
| NCR | | | STR | | |||
|------------------------------------------->| | |------------------------------------------->| | |||
| (TERMINATE_REQUEST, session id) | | | (session id) | | |||
| | | | | | |||
| | | | | | |||
| Remove NAT bindings | | Remove NAT bindings | |||
| of session | | of session | |||
| | | | | | |||
| | | | | | |||
| Send accounting stop | | | Send accounting stop | | |||
|<-------------------------------------------| | |<-------------------------------------------| | |||
| for all session bindings | | | for all session bindings | | |||
| | | | | | |||
| Terminate Session / | | Terminate Session / | |||
| Remove session state | | Remove session state | |||
| | | | | | |||
| | | | | | |||
| | | | | | |||
| NCA | | | STA | | |||
|<-------------------------------------------| | |<-------------------------------------------| | |||
| (result code) | | | (Result-Code) | | |||
| | | | | | |||
Figure 8: Terminate NAT Control session | Figure 8: Terminate NAT Control session | |||
4.6. DNCA Manager and Agent Failures | 4.6. DNCA Manager and Agent Failures | |||
This document does not cover details in case DNCA Manager and DNCA | This document does not cover details in case DNCA Manager and DNCA | |||
Agent are out of sync. This happens when the DNCA Manager or DNCA | Agent are out of sync. This happens when the DNCA Manager or DNCA | |||
Agent restart, (temporary) loss of network connectivity etc. The | Agent restart, (temporary) loss of network connectivity etc. The | |||
DNCA relies on DNCA Manager and DNCA Agent to have builtin redundancy | DNCA relies on DNCA Manager and DNCA Agent to have builtin redundancy | |||
support to recover state in case of failure. | support to recover state in case of failure. | |||
Example failure cases include the following: | Example failure cases include the following: | |||
o The DNCA Manager loses session state (e.g. due to a restart). In | o The DNCA Manager loses session state (e.g. due to a restart). In | |||
this case, | this case, | |||
* The DNCA Agent may receive a NCR with NC-Request-Type AVP set | * The DNCA Agent may receive a NCR with NC-Request-Type AVP set | |||
to INITIAL_REQUEST that matches an existing session of DNCA | to INITIAL_REQUEST that matches an existing session of DNCA | |||
Agent. The DNCA Agent returns an error that contains | agent. The DNCA Agent returns an error that contains | |||
Duplicate-Session-Id AVP to report the Session-ID of existing | Duplicate-Session-Id AVP to report the Session-ID of existing | |||
session. The DNCA Manager may send an explicit | session. The DNCA Manager may send an explicit Sesstion | |||
TERMINATE_REQUEST for the older session, which was lost. | Terminate Request(STR) for the older session, which was lost. | |||
* The DNCA Manager may receive accounting records for a session | * The DNCA Manager may receive accounting records for a session | |||
that does not exist. The DNCA Manager sends an accounting | that does not exist. The DNCA Manager sends an accounting | |||
answer with Result-Code set to DIAMETER_UNKNOWN_SESSION_ID. On | answer with Result-Code set to DIAMETER_UNKNOWN_SESSION_ID. On | |||
receiving this, the DNCA Agent clears the session and removes | receiving this, the DNCA Agent clears the session and removes | |||
the associated session state. | the associated session state. | |||
o The DNCA Agent loses session state. In such a case, the DNCA | o The DNCA Agent loses session state. In such a case, the DNCA | |||
Agent may receive a NCR with NC-Request-Type AVP set to | Agent may receive a NCR with NC-Request-Type AVP set to | |||
UPDATE_REQUEST for a non-existent session. The DNCA Agent returns | UPDATE_REQUEST for a non-existent session. The DNCA Agent returns | |||
skipping to change at page 19, line 7 | skipping to change at page 19, line 7 | |||
offering of the service provider. The service provider can choose | offering of the service provider. The service provider can choose | |||
to terminate the access session to the endpoint. | to terminate the access session to the endpoint. | |||
5. Use Of The Diameter Base Protocol | 5. Use Of The Diameter Base Protocol | |||
The Diameter Base Protocol defined by [RFC3588] applies with the | The Diameter Base Protocol defined by [RFC3588] applies with the | |||
clarifications listed in the present specification. | clarifications listed in the present specification. | |||
5.1. Securing Diameter Messages | 5.1. Securing Diameter Messages | |||
For secure transport of Diameter messages, IPSec MAY be used. | For secure transport of Diameter messages, IPsec MAY be used. | |||
The DNCA Agent MAY verify the identity of the DNCA Manager during the | The DNCA Agent MAY verify the identity of the DNCA Manager during the | |||
Capabilities Exchange Request procedure. | Capabilities Exchange Request procedure. | |||
The DNCA Agent MAY verify if the DNCA Manager that issues a NCR | The DNCA Agent MAY verify if the DNCA Manager that issues a NCR | |||
command is allowed and it is based on: | command is allowed and it is based on: | |||
o The identity of the DNCA Manager | o The identity of the DNCA Manager | |||
o The type of NCR Command | o The type of NCR Command | |||
o The content of the NCR Command | o The content of the NCR Command | |||
o Any combination of the above | o Any combination of the above | |||
5.2. Accounting Functionality | 5.2. Accounting Functionality | |||
Accounting functionality (accounting session state machine, related | Accounting functionality (accounting session state machine, related | |||
command codes and AVPs) is defined in Section 8 below. | command codes and AVPs) is defined in Section 9 below. | |||
5.3. Use Of Sessions | 5.3. Use Of Sessions | |||
Each DNCA session MUST have a globally unique Session-ID as defined | Each DNCA session MUST have a globally unique Session-ID as defined | |||
in [RFC3588], which MUST NOT be changed during the lifetime of a DNCA | in [RFC3588], which MUST NOT be changed during the lifetime of a DNCA | |||
session. The Diameter Session-ID serves as the global endpoint | session. The Diameter Session-ID serves as the global endpoint | |||
identifier. The DNCA Agent and DNCA Manager maintain state | identifier. The DNCA Agent and DNCA Manager maintain state | |||
associated with the Session-ID. This globally unique Session-ID is | associated with the Session-ID. This globally unique Session-ID is | |||
used for updating, accounting, and terminating the session. The DNCA | used for updating, accounting, and terminating the session. The DNCA | |||
session MUST NOT have more than one outstanding request at any given | session MUST NOT have more than one outstanding request at any given | |||
skipping to change at page 20, line 9 | skipping to change at page 20, line 9 | |||
5.5. Advertising Application Support | 5.5. Advertising Application Support | |||
Diameter applications conforming to this specification MUST advertise | Diameter applications conforming to this specification MUST advertise | |||
support by including the value of TBD in: | support by including the value of TBD in: | |||
o Auth-Application-Id and Acct-Application-Id of Capabilities- | o Auth-Application-Id and Acct-Application-Id of Capabilities- | |||
Exchange-Request (CER) | Exchange-Request (CER) | |||
o Auth-Application-Id of NC-request (NCR), NC-Answer (NCA), Abort- | o Auth-Application-Id of NC-request (NCR), NC-Answer (NCA), Abort- | |||
Session-Request(ASR), Abort-Session-Answer (AAA) messages | Session-Request(ASR), Abort-Session-Answer (ASA) messages | |||
o Acct-Application-Id in Accounting-Request (ACR) and Accounting- | o Acct-Application-Id in Accounting-Request (ACR) and Accounting- | |||
Answer (AAA) messages. | Answer (ACA) messages. | |||
6. DNCA Commands | 6. DNCA Commands | |||
The following commands are used to establish, maintain and clear NAT | The following commands are used to establish, maintain and query NAT | |||
bindings. | bindings. | |||
6.1. NAT-Control Request (NCR) Command | 6.1. NAT-Control Request (NCR) Command | |||
The NAT-Control Request (NCR) command, indicated by the command field | The NAT-Control Request (NCR) command, indicated by the command field | |||
set to TBD and the "R" bit set in the Command Flags field, is sent | set to TBD and the "R" bit set in the Command Flags field, is sent | |||
from the DNCA Manager to the DNCA Agent in order to install NAT | from the DNCA Manager to the DNCA Agent in order to install NAT | |||
bindings. | bindings. | |||
User-Name, Logical-Access-Id, Physical-Access-ID, Framed-IP-Address, | User-Name, Logical-Access-Id, Physical-Access-ID, Framed-IP-Address, | |||
skipping to change at page 21, line 15 | skipping to change at page 21, line 15 | |||
< NC-Request > ::= < Diameter Header: TBD, REQ, PXY> | < NC-Request > ::= < Diameter Header: TBD, REQ, PXY> | |||
< Session-Id > | < Session-Id > | |||
{ Auth-Application-Id } | { Auth-Application-Id } | |||
{ Origin-Host } | { Origin-Host } | |||
{ Origin-Realm } | { Origin-Realm } | |||
{ Destination-Realm } | { Destination-Realm } | |||
{ Destination-Host } | { Destination-Host } | |||
{ NC-Request-Type } | { NC-Request-Type } | |||
[ Origin-State-Id ] | [ Origin-State-Id ] | |||
[ Auth-Session-State ] | ||||
* [ NAT-Control-Remove ] | * [ NAT-Control-Remove ] | |||
* [ NAT-Control-Install ] | * [ NAT-Control-Install ] | |||
[ User-Name ] | [ User-Name ] | |||
[ Logical-Access-Id ] | [ Logical-Access-Id ] | |||
[ Physical-Access-ID ] | [ Physical-Access-ID ] | |||
[ Framed-IP-Address ] | [ Framed-IP-Address ] | |||
[ Framed-IPv6-Prefix ] | [ Framed-IPv6-Prefix ] | |||
[ Framed-Interface-Id ] | [ Framed-Interface-Id ] | |||
[ EGRESS-VLANID] | [ EGRESS-VLANID] | |||
[ NAS-Port-ID] | [ NAS-Port-ID] | |||
skipping to change at page 22, line 28 | skipping to change at page 22, line 28 | |||
[ Duplicate-Session-ID ] | [ Duplicate-Session-ID ] | |||
* [ Redirect-Host] | * [ Redirect-Host] | |||
[ Redirect-Host-Usage ] | [ Redirect-Host-Usage ] | |||
[ Redirect-Max-Cache-Time ] | [ Redirect-Max-Cache-Time ] | |||
* [ Proxy-Info ] | * [ Proxy-Info ] | |||
* [ Route-Record ] | * [ Route-Record ] | |||
* [ Failed-AVP ] | * [ Failed-AVP ] | |||
* [ AVP ] | * [ AVP ] | |||
* [ AVP ] | * [ AVP ] | |||
7. DNCA AVPs | 7. NAT Control Application Session State Machine | |||
7.1. Reused Base Protocol AVPs | This section contains a set of finite state machines, representing | |||
the life cycle of DNCA session, which MUST be observed by all | ||||
implementations of the DNCA Diameter application. DNCA Agent and | ||||
Manager are stateful and the state machine maintained is similar to | ||||
the stateful Client and Server authorization state machine described | ||||
in RFC3588. When a session is moved to the Idle state, any resources | ||||
that were allocated for the particular session must be released. Any | ||||
event not listed in the state machines MUST be considered as an error | ||||
condition, and an answer, if applicable, MUST be returned to the | ||||
originator of the message. | ||||
In the state table, the event 'Failure to send NCR' means that the | ||||
DNCA Manager is unable to send command NCR to the desired | ||||
destination. This could be due to the peer being down, or due to the | ||||
peer sending back a transient failure or temporary protocol error | ||||
notification DIAMETER_TOO_BUSY or DIAMETER_LOOP_DETECTED in the | ||||
Result-Code AVP of NCA. | ||||
In the state table "FAILED NCA" means that the DNCA Agent was not | ||||
able to honor corresponding NCR. This can happen due to any of the | ||||
transient and permanent error at DNCA Agent indicated by the | ||||
following error Result-Code values - RESOURCE_FAILURE, | ||||
UNKNOWN_BINDING_RULE_NAME, BINDING_FAILURE, | ||||
MAXIMUM_BINDINGS_REACHED_FOR_ENDPOINT, SESSION_EXISTS, | ||||
INSUFFICIENT_CLASSIFIERS | ||||
The following state machine is observed by a DNCA Manager: | ||||
MANAGER | ||||
State Event Action New State | ||||
------------------------------------------------------------- | ||||
Idle New Host detected that Send Pending | ||||
requires NAT Control NCR | ||||
Initial | ||||
Request | ||||
Idle ASR Received Send ASA Idle | ||||
for unknown session with | ||||
Result-Code | ||||
= UNKNOWN_ | ||||
SESSION_ID | ||||
Pending Successful NCA Setup Open | ||||
received complete | ||||
Pending Successful NCA Sent STR Discon | ||||
received | ||||
but Agent unable to provide | ||||
service | ||||
Pending Error processing successful Sent STR Discon | ||||
NCA | ||||
Pending Failed Cleanup Idle | ||||
NCA received | ||||
Open NAT control Send Open | ||||
update required NCR Update | ||||
Request | ||||
Open Successful Open | ||||
NCA received | ||||
Open Failed Cleanup Idle | ||||
NCA received. | ||||
Open Access Session end detected Send STR Discon | ||||
Open ASR Received, Send ASA Discon | ||||
client will comply with with | ||||
request to end the session Result-Code | ||||
= SUCCESS, | ||||
Send STR. | ||||
Open ASR Received, Send ASA Open | ||||
client will not comply with with | ||||
request to end the session Result-Code | ||||
!= SUCCESS | ||||
Discon ASR Received Send ASA Idle | ||||
Discon STA Received Discon. Idle | ||||
user/device | ||||
The following state machine is observed by a DNCA Agent: | ||||
AGENT | ||||
State Event Action New State | ||||
------------------------------------------------------------- | ||||
Idle NCR request Send Open | ||||
received, and successful | ||||
able to provide requested NCA | ||||
NAT control service | ||||
Idle NCR request Send Idle | ||||
received, and failed | ||||
unable to provide requested NCA | ||||
NAT control service | ||||
Open NCR request Send Open | ||||
received, and successful | ||||
able to provide requested NCA | ||||
NAT control service | ||||
Open NCR request Send Idle | ||||
received, and failed | ||||
unable to provide requested NCA, | ||||
NAT control service Cleanup | ||||
Open Unable to continue Send ASR Discon | ||||
providing requested | ||||
NAT control service | ||||
Discon Failure to send ASR Wait, Discon | ||||
resend ASR | ||||
Discon ASR successfully sent and Cleanup Idle | ||||
ASA Received with Result-Code | ||||
Not ASA Received None No Change. | ||||
Discon | ||||
Any STR Received Send STA, Idle | ||||
Cleanup. | ||||
8. DNCA AVPs | ||||
8.1. Reused Base Protocol AVPs | ||||
AVPs reused from Diameter Base Protocol [RFC3588] are listed below. | AVPs reused from Diameter Base Protocol [RFC3588] are listed below. | |||
+-------------------+ | +-------------------+ | |||
| AVP Flag rules | | | AVP Flag rules | | |||
+-----------------------------------------------|-----+---+---------+ | +-----------------------------------------------|-----+---+---------+ | |||
| AVP | | | May | | | AVP | | | May | | |||
| Attribute Name Code Data Type |MUST |MAY| encrypt | | | Attribute Name Code Data Type |MUST |MAY| encrypt | | |||
+-----------------------------------------------+-----+---+---------+ | +-----------------------------------------------+-----+---+---------+ | |||
|Acct-Interim-Interval 85 Unsigned32 | M | P | Y | | |Acct-Interim-Interval 85 Unsigned32 | M | P | Y | | |||
|Auth-Application-Id 258 Unsigned32 | M | P | N | | |Auth-Application-Id 258 Unsigned32 | M | P | N | | |||
|Auth-Session-State 277 Enumerated | M | P | N | | ||||
|Destination-Host 293 DiamIdent | M | P | N | | |Destination-Host 293 DiamIdent | M | P | N | | |||
|Destination-Realm 283 DiamIdent | M | P | N | | |Destination-Realm 283 DiamIdent | M | P | N | | |||
|Error-Message 281 UTF8String | M | P | N | | |Error-Message 281 UTF8String | M | P | N | | |||
|Error-Reporting-Host 294 DiamIdent | M | P | N | | |Error-Reporting-Host 294 DiamIdent | M | P | N | | |||
|Failed-AVP 279 Grouped | M | P | N | | |Failed-AVP 279 Grouped | M | P | N | | |||
|Origin-Host 264 DiamIdent | M | P | N | | |Origin-Host 264 DiamIdent | M | P | N | | |||
|Origin-Realm 296 DiamIdent | M | P | N | | |Origin-Realm 296 DiamIdent | M | P | N | | |||
|Origin-State-Id 278 Unsigned32 | M | P | N | | |Origin-State-Id 278 Unsigned32 | M | P | N | | |||
|Proxy-Info 284 Grouped | M | P | N | | |Proxy-Info 284 Grouped | M | P | N | | |||
|Result-Code 268 Unsigned32 | M | P | N | | |Result-Code 268 Unsigned32 | M | P | N | | |||
skipping to change at page 23, line 40 | skipping to change at page 26, line 39 | |||
| message, which carries this AVP, to be accepted. | | | message, which carries this AVP, to be accepted. | | |||
|P - Indicates the need for encryption for end-to-end security. | | |P - Indicates the need for encryption for end-to-end security. | | |||
+-------------------------------------------------------------------+ | +-------------------------------------------------------------------+ | |||
Figure 9: DIAMETER AVPs used from Diameter base | Figure 9: DIAMETER AVPs used from Diameter base | |||
The Auth-Application-Id AVP (AVP Code 258) is assigned by IANA to | The Auth-Application-Id AVP (AVP Code 258) is assigned by IANA to | |||
Diameter applications. The value of the Auth-Application-Id for the | Diameter applications. The value of the Auth-Application-Id for the | |||
Diameter NAT Control Application is TBD. | Diameter NAT Control Application is TBD. | |||
7.2. Additional Result-Code AVP Values | 8.2. Additional Result-Code AVP Values | |||
This section defines new values for the Result-Code AVP which SHALL | This section defines new values for the Result-Code AVP which SHALL | |||
be supported by all Diameter implementations that conform to the | be supported by all Diameter implementations that conform to the | |||
present document. | present document. | |||
7.2.1. Success | 8.2.1. Success | |||
No new Result-Code AVP value is defined within this category. | No new Result-Code AVP value is defined within this category. | |||
7.2.2. Transient Failures | 8.2.2. Transient Failures | |||
Result-Code AVP values that fall within the transient failures | Result-Code AVP values that fall within the transient failures | |||
category are those used to inform a peer that the request could not | category are those used to inform a peer that the request could not | |||
be satisfied at the time that it was received. The request may be | be satisfied at the time that it was received. The request may be | |||
able to be satisfied in the future. | able to be satisfied in the future. | |||
The following new values of the Result-Code AVP are defined: | The following new values of the Result-Code AVP are defined: | |||
RESOURCE_FAILURE (TBD) | RESOURCE_FAILURE (TBD) | |||
The DNCA Agent indicates that the binding could not be | The DNCA Agent indicates that the binding could not be | |||
installed or a new session could not be created due to resource | installed or a new session could not be created due to resource | |||
shortage. | shortage. | |||
7.2.3. Permanent Failures | 8.2.3. Permanent Failures | |||
The Result-Code AVP values, which fall within the permanent failures | The Result-Code AVP values, which fall within the permanent failures | |||
category are used to inform the peer that the request failed, and | category are used to inform the peer that the request failed, and | |||
should not be attempted again. The request may be able to be | should not be attempted again. The request may be able to be | |||
satisfied in the future. | satisfied in the future. | |||
The following new values of the Result-Code AVP are defined: | The following new values of the Result-Code AVP are defined: | |||
UNKNOWN_BINDING_RULE_NAME (TBD) | UNKNOWN_BINDING_RULE_NAME (TBD) | |||
skipping to change at page 25, line 11 | skipping to change at page 28, line 6 | |||
it already has a DNCA session that uses the same set of | it already has a DNCA session that uses the same set of | |||
classifiers as indicated by DNCA Manager in the new session | classifiers as indicated by DNCA Manager in the new session | |||
initializationrequest. | initializationrequest. | |||
INSUFFICIENT_CLASSIFIERS (TBD) | INSUFFICIENT_CLASSIFIERS (TBD) | |||
The DNCA Agent defines request to initialize a new session, if | The DNCA Agent defines request to initialize a new session, if | |||
the classifiers in the request match more than one of the | the classifiers in the request match more than one of the | |||
existing sessions on DNCA Agent. | existing sessions on DNCA Agent. | |||
7.3. Reused NASREQ Diameter Application AVPs | 8.3. Reused NASREQ Diameter Application AVPs | |||
The following AVPs are reused from Diameter Network Access Server | The following AVPs are reused from Diameter Network Access Server | |||
Application [RFC4005]. | Application [RFC4005]. | |||
+---------------------+ | +---------------------+ | |||
| AVP Flag rules | | | AVP Flag rules | | |||
+------------------+------+------------|----+-----+----+-----|----+ | +------------------+------+------------|----+-----+----+-----|----+ | |||
| | AVP | | | |SHLD| MUST| | | | | AVP | | | |SHLD| MUST| | | |||
| Attribute Name | Code | Value Type|MUST| MAY | NOT| NOT|Encr| | | Attribute Name | Code | Value Type|MUST| MAY | NOT| NOT|Encr| | |||
|------------------|------|------------|----+-----+----+-----|----| | |------------------|------|------------|----+-----+----+-----|----| | |||
| NAS-Port | 5 | Unsigned32 | M | P | | V | Y | | | NAS-Port | 5 | Unsigned32 | M | P | | V | Y | | |||
skipping to change at page 25, line 34 | skipping to change at page 28, line 29 | |||
| Id | | | | | | | | | | Id | | | | | | | | | |||
| Framed-IP-Address| 8 | OctetString| M | P | | V | Y | | | Framed-IP-Address| 8 | OctetString| M | P | | V | Y | | |||
| Framed-Interface-| 96 | Unsigned64 | M | P | | V | Y | | | Framed-Interface-| 96 | Unsigned64 | M | P | | V | Y | | |||
| ID | | | | | | | | | | ID | | | | | | | | | |||
| Framed-IPv6- | 97 | OctetString| M | P | | V | Y | | | Framed-IPv6- | 97 | OctetString| M | P | | V | Y | | |||
| Prefix | | | | | | | | | | Prefix | | | | | | | | | |||
+------------------+------+------------|----+-----+----+-----|----+ | +------------------+------+------------|----+-----+----+-----|----+ | |||
Figure 10: Reused NASREQ Diameter application AVPs | Figure 10: Reused NASREQ Diameter application AVPs | |||
7.4. Reused from RFC 4675 | 8.4. Reused from RFC 4675 | |||
The following AVPs are reused from "RADIUS Attributes for Virtual LAN | The following AVPs are reused from "RADIUS Attributes for Virtual LAN | |||
and Priority Support" specification [RFC4675]. | and Priority Support" specification [RFC4675]. | |||
+---------------------+ | +---------------------+ | |||
| AVP Flag rules | | | AVP Flag rules | | |||
+------------------+------+------------|----+-----+----+-----|----+ | +------------------+------+------------|----+-----+----+-----|----+ | |||
| | AVP | | | |SHLD| MUST| | | | | AVP | | | |SHLD| MUST| | | |||
| Attribute Name | Code | Value Type|MUST| MAY | NOT| NOT|Encr| | | Attribute Name | Code | Value Type|MUST| MAY | NOT| NOT|Encr| | |||
|------------------|------|------------|----+-----+----+-----|----| | |------------------|------|------------|----+-----+----+-----|----| | |||
| Egress-VLANID | 56 | OctetString| M | P | | V | Y | | | Egress-VLANID | 56 | OctetString| M | P | | V | Y | | |||
+------------------+------+------------|----+-----+----+-----|----+ | +------------------+------+------------|----+-----+----+-----|----+ | |||
Figure 11: Reused attributes from RFC 4675 | Figure 11: Reused attributes from RFC 4675 | |||
7.5. Reused from Diameter QoS Application | 8.5. Reused from Diameter QoS Application | |||
The following AVPs are reused from the Traffic Classification and | ||||
Quality of Service (QoS) Attributes for Diameter [RFC5777]. | ||||
The following AVPs are reused from the Diameter QoS Application | ||||
[I-D.ietf-dime-diameter-qos]. | ||||
+-------------------+ | +-------------------+ | |||
| AVP Flag rules | | | AVP Flag rules | | |||
+-----------------------------------------------|-----+---+---------+ | +-----------------------------------------------|-----+---+---------+ | |||
| AVP | | | May | | | AVP | | | May | | |||
| Attribute Name Code Data Type |MUST |MAY| encrypt | | | Attribute Name Code Data Type |MUST |MAY| encrypt | | |||
+-----------------------------------------------+-----+---+---------+ | +-----------------------------------------------+-----+---+---------+ | |||
|Port TBD Integer32 | M | P | Y | | |Port TBD Integer32 | M | P | Y | | |||
|IP-Address-Mask TBD Grouped | M | P | Y | | |IP-Address-Mask TBD Grouped | M | P | Y | | |||
|Protocol TBD Enumerated | M | P | Y | | |Protocol TBD Enumerated | M | P | Y | | |||
|Direction TBD Enumerated | M | P | Y | | |Direction TBD Enumerated | M | P | Y | | |||
+-----------------------------------------------+-----+---+---------+ | +-----------------------------------------------+-----+---+---------+ | |||
|M - Mandatory bit. An AVP with "M" bit set and its value MUST be | | |M - Mandatory bit. An AVP with "M" bit set and its value MUST be | | |||
| supported and recognized by a Diameter entity in order the | | | supported and recognized by a Diameter entity in order the | | |||
| message, which carries this AVP, to be accepted. | | | message, which carries this AVP, to be accepted. | | |||
|P - Indicates the need for encryption for end-to-end security. | | |P - Indicates the need for encryption for end-to-end security. | | |||
+-------------------------------------------------------------------+ | +-------------------------------------------------------------------+ | |||
Figure 12: Reused QoS-attributes | Figure 12: Reused QoS-attributes | |||
7.6. Reused from ETSI ES 283 034, e4 Diameter Application | 8.6. Reused from ETSI ES 283 034, e4 Diameter Application | |||
The following AVPs are reused from the Diameter e4 Application | The following AVPs are reused from the Diameter e4 Application | |||
[ETSIES283034]. | [ETSIES283034]. | |||
+-------------------+ | +-------------------+ | |||
| AVP Flag rules | | | AVP Flag rules | | |||
+-----------------------------------------------|-----+---+---------+ | +-----------------------------------------------|-----+---+---------+ | |||
| AVP | | | May | | | AVP | | | May | | |||
| Attribute Name Code Data Type |MUST |MAY| encrypt | | | Attribute Name Code Data Type |MUST |MAY| encrypt | | |||
+-----------------------------------------------+-----+---+---------+ | +-----------------------------------------------+-----+---+---------+ | |||
|Address-Realm 301 OctetString | M,V | | Y | | |Address-Realm 301 OctetString | M,V | | Y | | |||
skipping to change at page 27, line 5 | skipping to change at page 30, line 5 | |||
| supported and recognized by a Diameter entity in order the | | | supported and recognized by a Diameter entity in order the | | |||
| message, which carries this AVP, to be accepted. | | | message, which carries this AVP, to be accepted. | | |||
|P - Indicates the need for encryption for end-to-end security. | | |P - Indicates the need for encryption for end-to-end security. | | |||
|V - Indicates whether the optional Vendor-ID field is present | | |V - Indicates whether the optional Vendor-ID field is present | | |||
| in the AVP header. Vendor-Id header of all AVPs in | | | in the AVP header. Vendor-Id header of all AVPs in | | |||
| this table will be set to ETSI (13019). | | | this table will be set to ETSI (13019). | | |||
+-------------------------------------------------------------------+ | +-------------------------------------------------------------------+ | |||
Figure 13: Reused AVPs from Diameter e4 application | Figure 13: Reused AVPs from Diameter e4 application | |||
7.7. DNCA Defined AVPs | 8.7. DNCA Defined AVPs | |||
The following table describes the new Diameter AVPs used in this | The following table describes the new Diameter AVPs used in this | |||
document. | document. | |||
+-------------------+ | +-------------------+ | |||
| AVP Flag rules | | | AVP Flag rules | | |||
+-----------------------------------------------|-----+---+---------+ | +-----------------------------------------------|-----+---+---------+ | |||
| AVP Section | | | May | | | AVP Section | | | May | | |||
| Attribute Name Code Defined Data Type |MUST |MAY| encrypt | | | Attribute Name Code Defined Data Type |MUST |MAY| encrypt | | |||
+-----------------------------------------------+-----+---+---------+ | +-----------------------------------------------+-----+---+---------+ | |||
|NC-Request-Type TBD 7.7.1 Enumerated | M | P | Y | | |NC-Request-Type TBD 7.7.1 Enumerated | M | P | Y | | |||
skipping to change at page 27, line 41 | skipping to change at page 30, line 41 | |||
|M - Mandatory bit. An AVP with "M" bit set and its value MUST be | | |M - Mandatory bit. An AVP with "M" bit set and its value MUST be | | |||
| supported and recognized by a Diameter entity in order the | | | supported and recognized by a Diameter entity in order the | | |||
| message, which carries this AVP, to be accepted. | | | message, which carries this AVP, to be accepted. | | |||
|P - Indicates the need for encryption for end-to-end security. | | |P - Indicates the need for encryption for end-to-end security. | | |||
|V - Vendor specific bit that indicates whether the optional | | |V - Vendor specific bit that indicates whether the optional | | |||
| Vendor-ID field is present in the AVP header. | | | Vendor-ID field is present in the AVP header. | | |||
+-------------------------------------------------------------------+ | +-------------------------------------------------------------------+ | |||
Figure 14: New Diameter AVPs | Figure 14: New Diameter AVPs | |||
7.7.1. NC-Request-Type AVP | 8.7.1. NC-Request-Type AVP | |||
The NC-Request-Type AVP (AVP Code TBD) is of type Enumerated and | The NC-Request-Type AVP (AVP Code TBD) is of type Enumerated and | |||
contains the reason for sending the NAT-Control-Request command. It | contains the reason for sending the NAT-Control-Request command. It | |||
shall be present in all NAT-Control-Request messages. | shall be present in all NAT-Control-Request messages. | |||
The following values are defined: | The following values are defined: | |||
INITIAL_REQUEST (1) | INITIAL_REQUEST (1) | |||
An Initial Request is used to install binding at the DNCA Agent | An Initial Request is used to install binding at the DNCA Agent | |||
on a successful access session setup. | on a successful access session setup. | |||
UPDATE_REQUEST (2) | UPDATE_REQUEST (2) | |||
An Update Request is used to update bindings previously | An Update Request is used to update bindings previously | |||
installed on a given access session, to add new binding on a | installed on a given access session, to add new binding on a | |||
given access session, or to remove one or several binding(s) | given access session, or to remove one or several binding(s) | |||
activated on a given access session. | activated on a given access session. | |||
TERMINATION_REQUEST (3) | ||||
Termination Request is used to deactivate and remove all | ||||
bindings previously activated on a given access session. | ||||
QUERY_REQUEST (4) | QUERY_REQUEST (4) | |||
Query Request is used to query the DNCA Agent about the | Query Request is used to query the DNCA Agent about the | |||
currently installed bindings for an endpoint classifier. | currently installed bindings for an endpoint classifier. | |||
7.7.2. NAT-Control-Install AVP | 8.7.2. NAT-Control-Install AVP | |||
The NAT-Control AVP (AVP code TBD) is of type Grouped, and it is used | The NAT-Control AVP (AVP code TBD) is of type Grouped, and it is used | |||
to activate or install NAT bindings. It also contains Max-NAT- | to activate or install NAT bindings. It also contains Max-NAT- | |||
Bindings that defines maximum number of NAT bindings to be allowed | Bindings that defines maximum number of NAT bindings to be allowed | |||
for a subscriber and NAT-Control-Binding-Rule that references | for a subscriber and NAT-Control-Binding-Rule that references | |||
predefined policy template on DNCA Agent that may contain static | predefined policy template on DNCA Agent that may contain static | |||
bindings, maximum number of bindings to be allowed, address pool from | bindings, maximum number of bindings to be allowed, address pool from | |||
which external binding address should be allocated. | which external binding address should be allocated. | |||
AVP format: | AVP format: | |||
NAT-Control-Install ::= < AVP Header: TBD > | NAT-Control-Install ::= < AVP Header: TBD > | |||
* [ NAT-Control-Definition ] | * [ NAT-Control-Definition ] | |||
[ NAT-Control-Binding-Rule ] | [ NAT-Control-Binding-Rule ] | |||
[ Max-NAT-Bindings] | [ Max-NAT-Bindings] | |||
* [ AVP ] | * [ AVP ] | |||
7.7.3. NAT-Control-Remove AVP | 8.7.3. NAT-Control-Remove AVP | |||
The NAT-Control-Remove AVP (AVP code TBD) is of type Grouped, and it | The NAT-Control-Remove AVP (AVP code TBD) is of type Grouped, and it | |||
is used to deactivate or remove NAT bindings. | is used to deactivate or remove NAT bindings. | |||
AVP format: | AVP format: | |||
NAT-Control-Remove ::= < AVP Header: TBD > | NAT-Control-Remove ::= < AVP Header: TBD > | |||
* [ NAT-Control-Definition ] | * [ NAT-Control-Definition ] | |||
[ NAT-Control-Binding-Rule ] | [ NAT-Control-Binding-Rule ] | |||
* [ AVP ] | * [ AVP ] | |||
7.7.4. NAT-Control-Definition AVP | 8.7.4. NAT-Control-Definition AVP | |||
The NAT-Control-Definition AVP (AVP code TBD) is of type Grouped, and | The NAT-Control-Definition AVP (AVP code TBD) is of type Grouped, and | |||
it describes a binding. | it describes a binding. | |||
The NAT-Control-Definition AVP uniquely identifies the binding | The NAT-Control-Definition AVP uniquely identifies the binding | |||
between the DNCA Agent and the DNCA Manager. | between the DNCA Agent and the DNCA Manager. | |||
If both the NAT-Internal-Address and NAT-External-Address AVP(s) are | If both the NAT-Internal-Address and NAT-External-Address AVP(s) are | |||
supplied, it is a pre-defined binding. | supplied, it is a pre-defined binding. | |||
skipping to change at page 29, line 38 | skipping to change at page 32, line 30 | |||
AVP format: | AVP format: | |||
NAT-Control-Definition ::= < AVP Header: TBD > | NAT-Control-Definition ::= < AVP Header: TBD > | |||
{ NAT-Internal-Address } | { NAT-Internal-Address } | |||
[ Protocol ] | [ Protocol ] | |||
[ Direction ] | [ Direction ] | |||
[ NAT-External-Address ] | [ NAT-External-Address ] | |||
[ Session-Id ] | [ Session-Id ] | |||
* [ AVP ] | * [ AVP ] | |||
7.7.5. NAT-Internal-Address AVP | 8.7.5. NAT-Internal-Address AVP | |||
The NAT-Internal-Address AVP (AVP code TBD) is of type Grouped. It | The NAT-Internal-Address AVP (AVP code TBD) is of type Grouped. It | |||
describes the internal IP address and port for a binding. Framed- | describes the internal IP address and port for a binding. Framed- | |||
IPV6-Prefix and Framed-IP-Address AVPs are mutually exclusive. | IPV6-Prefix and Framed-IP-Address AVPs are mutually exclusive. | |||
AVP format: | AVP format: | |||
NAT-Internal-Address ::= < AVP Header: TBD > | NAT-Internal-Address ::= < AVP Header: TBD > | |||
[ Framed-IP-Address ] | [ Framed-IP-Address ] | |||
[ Framed-IPv6-Prefix ] | [ Framed-IPv6-Prefix ] | |||
[ Port] | [ Port] | |||
* [ AVP ] | * [ AVP ] | |||
7.7.6. NAT-External-Address AVP | 8.7.6. NAT-External-Address AVP | |||
The NAT-External-Address AVP (AVP code TBD) is of type Grouped, and | The NAT-External-Address AVP (AVP code TBD) is of type Grouped, and | |||
it describes the external IP address and port for a binding. IP- | it describes the external IP address and port for a binding. IP- | |||
Address-Mask AVP can only be specified when Framed-IP-Address AVP is | Address-Mask AVP can only be specified when Framed-IP-Address AVP is | |||
present. | present. External IP address specified in this attribute can be | |||
reused for multiple subscribers by specifying the same address in the | ||||
respective NAT-External-Address AVPs. | ||||
AVP format: | AVP format: | |||
NAT-External-Address ::= < AVP Header: TBD > | NAT-External-Address ::= < AVP Header: TBD > | |||
[ Framed-IP-Address ] | [ Framed-IP-Address ] | |||
[ IP-Address-Mask ] | [ IP-Address-Mask ] | |||
[ Port ] | [ Port ] | |||
* [ AVP ] | * [ AVP ] | |||
7.7.7. Max-NAT-Bindings | 8.7.7. Max-NAT-Bindings | |||
The Max-NAT-Bindings AVP (AVP code TBD) is of type Unsigned32. It | The Max-NAT-Bindings AVP (AVP code TBD) is of type Unsigned32. It | |||
indicates the maximum number of NAT bindings allowed. | indicates the maximum number of NAT bindings allowed. | |||
7.7.8. NAT-Control-Binding-Rule AVP | 8.7.8. NAT-Control-Binding-Rule AVP | |||
The NAT-Control-Binding-Rule AVP (AVP code TBD) is of type | The NAT-Control-Binding-Rule AVP (AVP code TBD) is of type | |||
OctetString. It defines a name for a policy template that will be | OctetString. It defines a name for a policy template that will be | |||
predefined at NAT. Details on the contents and structure of the | predefined at NAT. Details on the contents and structure of the | |||
template and configuration are outside the scope of this document. | template and configuration are outside the scope of this document. | |||
The policy to which this AVP refers to may contain NAT bindings, | The policy to which this AVP refers to may contain NAT bindings, | |||
address pool for external address allocation of NAT binding, and | address pool for external address allocation of NAT binding, and | |||
maximum allowed NAT bindings. | maximum allowed NAT bindings. Such policy template can be reused by | |||
specifying same NAT-Control-Binding-Rule AVP in corresponding NAT- | ||||
Control-Install AVPs of multiple subscribers. | ||||
7.7.9. Duplicate-Session-Id AVP | 8.7.9. Duplicate-Session-Id AVP | |||
The Duplicate-Session-Id AVP (AVP Code TBD) is of type UTF8String. | The Duplicate-Session-Id AVP (AVP Code TBD) is of type UTF8String. | |||
It is used to report error and contains the Session-Id of an existing | It is used to report error and contains the Session-Id of an existing | |||
session. | session. | |||
8. Accounting Commands | 9. Accounting Commands | |||
The DNCA reuses session based accounting as defined in Diameter Base | The DNCA reuses session based accounting as defined in Diameter Base | |||
Protocol,[RFC3588] to report the bindings per endpoint. This | Protocol,[RFC3588] to report the bindings per endpoint. This | |||
reporting is achieved by sending Diameter Accounting Requests (ACR) | reporting is achieved by sending Diameter Accounting Requests (ACR) | |||
[Start, Interim and Stop] from the DNCA Agent to DNCA Manager. | [Start, Interim and Stop] from the DNCA Agent to DNCA Manager. | |||
The DNCA Agent sends an ACR Start on receiving an NCR with NC- | The DNCA Agent sends an ACR Start on receiving an NCR with NC- | |||
Request-Type AVP set to INITIAL_REQUEST for a session or on creation | Request-Type AVP set to INITIAL_REQUEST for a session or on creation | |||
of the first binding for a session requested in an earlier NCR. The | of the first binding for a session requested in an earlier NCR. The | |||
DNCA may send ACR Interim updates, if required, either due to a | DNCA may send ACR Interim updates, if required, either due to a | |||
change in bindings resulting from a NCR with NC-Request-Type AVP set | change in bindings resulting from a NCR with NC-Request-Type AVP set | |||
to UPDATE_REQUEST, or periodically as specified in Acct-Interim- | to UPDATE_REQUEST, or periodically as specified in Acct-Interim- | |||
Interval by the DNCA Manager, or when it creates or tears down | Interval by the DNCA Manager, or when it creates or tears down | |||
bindings. An ACR Stop is sent by the DNCA Agent on receiving an NCR | bindings. An ACR Stop is sent by the DNCA Agent on receiving STR. | |||
with NC-Request-Type AVP set to TERMINATION_REQUEST. | ||||
The function of correlating the multiple bindings used by an endpoint | The function of correlating the multiple bindings used by an endpoint | |||
at any given time is relegated to the post processor. | at any given time is relegated to the post processor. | |||
The DNCA Agent may trigger an interim accounting record when maximum | The DNCA Agent may trigger an interim accounting record when maximum | |||
number of bindings, if received in NCR, is reached. | number of bindings, if received in NCR, is reached. | |||
8.1. NAT Control Accounting Messages | 9.1. NAT Control Accounting Messages | |||
The ACR and ACA messages are reused as defined in Diameter Base | The ACR and ACA messages are reused as defined in Diameter Base | |||
Protocol [RFC3588] for exchanging endpoint NAT binding details | Protocol [RFC3588] for exchanging endpoint NAT binding details | |||
between the DNCA Agent and DNCA Manager. The DNCA Application ID is | between the DNCA Agent and DNCA Manager. The DNCA Application ID is | |||
used in the accounting commands. ACR contains one or more optional | used in the accounting commands. ACR contains one or more optional | |||
NAT-Control-Record AVP to report the bindings. The DNCA Agent | NAT-Control-Record AVP to report the bindings. The DNCA Agent | |||
indicates the number of allocated NAT bindings to the DNCA Manager | indicates the number of allocated NAT bindings to the DNCA Manager | |||
using the Current-NAT-Bindings AVP. This number needs to match the | using the Current-NAT-Bindings AVP. This number needs to match the | |||
number of bindings identified as active within the NAT-Control-Record | number of bindings identified as active within the NAT-Control-Record | |||
AVP. | AVP. | |||
8.2. NAT Control Accounting AVPs | 9.2. NAT Control Accounting AVPs | |||
In addition to AVPs for ACR specified in [RFC3588], the DNCA Agent | In addition to AVPs for ACR specified in [RFC3588], the DNCA Agent | |||
must add the NAT-Control-Record AVP. | must add the NAT-Control-Record AVP. | |||
8.2.1. NAT-Control-Record | 9.2.1. NAT-Control-Record | |||
The NAT-Control-Record AVP (AVP code TBD) is of type Grouped. It | The NAT-Control-Record AVP (AVP code TBD) is of type Grouped. It | |||
describes a binding and its status. If NAT-Control-Binding-Status is | describes a binding and its status. If NAT-Control-Binding-Status is | |||
set to Created, Event-Timestamp indicates the binding creation time. | set to Created, Event-Timestamp indicates the binding creation time. | |||
If NAT-Control-Binding-Status is set to Removed, Event-Timestamp | If NAT-Control-Binding-Status is set to Removed, Event-Timestamp | |||
indicates the binding removal time. If NAT-Control-Binding-Status is | indicates the binding removal time. If NAT-Control-Binding-Status is | |||
active, Event-Timestamp need not be present; if a value is present, | active, Event-Timestamp need not be present; if a value is present, | |||
it indicates that binding is active at the given time. | it indicates that binding is active at the given time. | |||
NAT-Control-Record ::= < AVP Header: TBD > | NAT-Control-Record ::= < AVP Header: TBD > | |||
{ NAT-Control-Definition } | { NAT-Control-Definition } | |||
{ NAT-Control-Binding-Status } | { NAT-Control-Binding-Status } | |||
[ Event-Timestamp ] | [ Event-Timestamp ] | |||
8.2.2. NAT-Control-Binding-Status | 9.2.2. NAT-Control-Binding-Status | |||
The NAT-Control-Binding-Status AVP (AVP code TBD) is of type | The NAT-Control-Binding-Status AVP (AVP code TBD) is of type | |||
enumerated. It indicates the status of the binding - created, | enumerated. It indicates the status of the binding - created, | |||
removed, or active. | removed, or active. | |||
The following values are defined: | The following values are defined: | |||
Created (1) | Created (1) | |||
NAT binding is created. | NAT binding is created. | |||
Active (2) | Active (2) | |||
NAT binding is active. | NAT binding is active. | |||
Removed (3) | Removed (3) | |||
NAT binding was removed. | NAT binding was removed. | |||
8.2.3. Current-NAT-Bindings | 9.2.3. Current-NAT-Bindings | |||
The Current-NAT-Bindings AVP (AVP code TBD) is of type Unsigned32. | The Current-NAT-Bindings AVP (AVP code TBD) is of type Unsigned32. | |||
It indicates number of NAT bindings active on NAT device. | It indicates number of NAT bindings active on NAT device. | |||
9. AVP Occurrence Table | 10. AVP Occurrence Table | |||
The following sections presents the AVPs defined in this document and | The following sections presents the AVPs defined in this document and | |||
specifies the Diameter messages in which, they MAY be present. Note: | specifies the Diameter messages in which, they MAY be present. Note: | |||
AVPs that can only be present within a Grouped AVP are not | AVPs that can only be present within a Grouped AVP are not | |||
represented in this table. | represented in this table. | |||
The table uses the following symbols: | The table uses the following symbols: | |||
0 The AVP MUST NOT be present in the message. | 0 The AVP MUST NOT be present in the message. | |||
skipping to change at page 33, line 5 | skipping to change at page 35, line 41 | |||
0-1 Zero or one instance of the AVP MAY be present in the | 0-1 Zero or one instance of the AVP MAY be present in the | |||
message. It is considered an error if there is more | message. It is considered an error if there is more | |||
than one instance of the AVP. | than one instance of the AVP. | |||
1 One instance of the AVP MUST be present in the message. | 1 One instance of the AVP MUST be present in the message. | |||
1+ At least one instance of the AVP MUST be present in the | 1+ At least one instance of the AVP MUST be present in the | |||
message. | message. | |||
9.1. DNCA AVP Table for NAT Control Initial and Update Requests | 10.1. DNCA AVP Table for NAT Control Initial and Update Requests | |||
The following table lists the DNCA specific AVPs that have to be | The following table lists the DNCA specific AVPs that have to be | |||
present in NCR and NCA with NC-Request-Type set to INITIAL_REQUEST or | present in NCR and NCA with NC-Request-Type set to INITIAL_REQUEST or | |||
UPDATE_REQUEST. | UPDATE_REQUEST. | |||
+-------------------+ | +-------------------+ | |||
| Command Code | | | Command Code | | |||
+-----------------------------------+-------------------+ | +-----------------------------------+-------------------+ | |||
| Attribute Name NCR NCA | | | Attribute Name NCR NCA | | |||
+-------------------------------------------------------+ | +-------------------------------------------------------+ | |||
|NC-Request-Type 1 1 | | |NC-Request-Type 1 1 | | |||
|NAT-Control-Install 0-1 0 | | |NAT-Control-Install 0-1 0 | | |||
|NAT-Control-Remove 0-1 0 | | |NAT-Control-Remove 0-1 0 | | |||
|NAT-Control-Definition 0 0 | | |NAT-Control-Definition 0 0 | | |||
|NAT-Control-Record 0 0 | | |NAT-Control-Record 0 0 | | |||
skipping to change at page 33, line 24 | skipping to change at page 36, line 19 | |||
+-------------------------------------------------------+ | +-------------------------------------------------------+ | |||
|NC-Request-Type 1 1 | | |NC-Request-Type 1 1 | | |||
|NAT-Control-Install 0-1 0 | | |NAT-Control-Install 0-1 0 | | |||
|NAT-Control-Remove 0-1 0 | | |NAT-Control-Remove 0-1 0 | | |||
|NAT-Control-Definition 0 0 | | |NAT-Control-Definition 0 0 | | |||
|NAT-Control-Record 0 0 | | |NAT-Control-Record 0 0 | | |||
|Current-NAT-Bindings 0 0 | | |Current-NAT-Bindings 0 0 | | |||
|Duplicate-Session-Id 0 0-1 | | |Duplicate-Session-Id 0 0-1 | | |||
+-------------------------------------------------------+ | +-------------------------------------------------------+ | |||
9.2. DNCA AVP Table for Session Query request | 10.2. DNCA AVP Table for Session Query request | |||
The following table lists the DNCA specific AVPs that have to be | The following table lists the DNCA specific AVPs that have to be | |||
present in NCR and NCA with NC-Request-Type set to QUERY_REQUEST. | present in NCR and NCA with NC-Request-Type set to QUERY_REQUEST. | |||
+-------------------+ | +-------------------+ | |||
| Command Code | | | Command Code | | |||
+-----------------------------------+-------------------+ | +-----------------------------------+-------------------+ | |||
| Attribute Name NCR NCA | | | Attribute Name NCR NCA | | |||
+-------------------------------------------------------+ | +-------------------------------------------------------+ | |||
|NC-Request-Type 1 1 | | |NC-Request-Type 1 1 | | |||
|NAT-Control-Install 0 0 | | |NAT-Control-Install 0 0 | | |||
|NAT-Control-Remove 0 0 | | |NAT-Control-Remove 0 0 | | |||
|NAT-Control-Definition 0 0+ | | |NAT-Control-Definition 0 0+ | | |||
|NAT-Control-Record 0 0 | | |NAT-Control-Record 0 0 | | |||
|Current-NAT-Bindings 0 1 | | |Current-NAT-Bindings 0 1 | | |||
|Duplicate-Session-Id 0 0 | | |Duplicate-Session-Id 0 0 | | |||
+-------------------------------------------------------+ | +-------------------------------------------------------+ | |||
9.3. DNCA AVP Table for NAT Control Terminate requests | 10.3. DNCA AVP Table for Accounting Message | |||
The following table lists the DNCA specific AVPs that have to be | ||||
present in NCR and NCA with NC-Request-Type set to | ||||
TERMINATION_REQUEST. | ||||
+-------------------+ | ||||
| Command Code | | ||||
+-----------------------------------+-------------------+ | ||||
| Attribute Name NCR NCA | | ||||
+-------------------------------------------------------+ | ||||
|NC-Request-Type 1 1 | | ||||
|NAT-Control-Install 0 0 | | ||||
|NAT-Control-Remove 0 0 | | ||||
|NAT-Control-Definition 0 0 | | ||||
|NAT-Control-Record 0 0 | | ||||
|Current-NAT-Bindings 0 0 | | ||||
|Duplicate-Session-Id 0 0 | | ||||
+-------------------------------------------------------+ | ||||
9.4. DNCA AVP Table for Accounting Message | ||||
The following table lists the DNCA specific AVPs, which may or may | The following table lists the DNCA specific AVPs, which may or may | |||
not be present in ACR and ACA messages. | not be present in ACR and ACA messages. | |||
+-------------------+ | +-------------------+ | |||
| Command Code | | | Command Code | | |||
+-----------------------------------+-------------------+ | +-----------------------------------+-------------------+ | |||
| Attribute Name ACR ACA | | | Attribute Name ACR ACA | | |||
+-------------------------------------------------------+ | +-------------------------------------------------------+ | |||
|NC-Request-Type 0 0 | | |NC-Request-Type 0 0 | | |||
|NAT-Control-Install 0 0 | | |NAT-Control-Install 0 0 | | |||
|NAT-Control-Remove 0 0 | | |NAT-Control-Remove 0 0 | | |||
|NAT-Control-Definition 0 0 | | |NAT-Control-Definition 0 0 | | |||
|NAT-Control-Record 0+ 0 | | |NAT-Control-Record 0+ 0 | | |||
skipping to change at page 34, line 37 | skipping to change at page 37, line 19 | |||
+-------------------------------------------------------+ | +-------------------------------------------------------+ | |||
|NC-Request-Type 0 0 | | |NC-Request-Type 0 0 | | |||
|NAT-Control-Install 0 0 | | |NAT-Control-Install 0 0 | | |||
|NAT-Control-Remove 0 0 | | |NAT-Control-Remove 0 0 | | |||
|NAT-Control-Definition 0 0 | | |NAT-Control-Definition 0 0 | | |||
|NAT-Control-Record 0+ 0 | | |NAT-Control-Record 0+ 0 | | |||
|Current-NAT-Bindings 1 0 | | |Current-NAT-Bindings 1 0 | | |||
|Duplicate-Session-Id 0 0 | | |Duplicate-Session-Id 0 0 | | |||
+-------------------------------------------------------+ | +-------------------------------------------------------+ | |||
10. IANA Considerations | 11. IANA Considerations | |||
This section contains the namespaces that have either been created in | This section contains the namespaces that have either been created in | |||
this specification or had their values assigned to existing | this specification or had their values assigned to existing | |||
namespaces managed by IANA. | namespaces managed by IANA. | |||
10.1. Command Codes | 11.1. Command Codes | |||
IANA is requested to allocate command code values for the following. | IANA is requested to allocate command code values for the following. | |||
Registry: | Registry: | |||
+----------------+---------------------------+-------------+ | +----------------+---------------------------+-------------+ | |||
| Code Value | Name | Reference | | | Code Value | Name | Reference | | |||
+----------------+---------------------------+-------------+ | +----------------+---------------------------+-------------+ | |||
| to be assigned | NAT-Control-Request (NCR) | Section 6.1 | | | to be assigned | NAT-Control-Request (NCR) | Section 6.1 | | |||
| to be assigned | NAT-Control-Answer (NCA) | Section 6.2 | | | to be assigned | NAT-Control-Answer (NCA) | Section 6.2 | | |||
+----------------+---------------------------+-------------+ | +----------------+---------------------------+-------------+ | |||
Table 1: Command codes | Table 1: Command codes | |||
10.2. AVP Codes | 11.2. AVP Codes | |||
IANA is requested to allocate AVP codes for the following AVPs that | IANA is requested to allocate AVP codes for the following AVPs that | |||
are defined in this document. | are defined in this document. | |||
Registry: | Registry: | |||
+----------------+----------------------------+---------------+ | +----------------+----------------------------+---------------+ | |||
| Code Value | Name | Reference | | | Code Value | Name | Reference | | |||
+----------------+----------------------------+---------------+ | +----------------+----------------------------+---------------+ | |||
| to be assigned | NC-Request-Type | Section 7.7.1 | | | to be assigned | NC-Request-Type | Section 8.7.1 | | |||
| to be assigned | NAT-Control-Install | Section 7.7.2 | | | to be assigned | NAT-Control-Install | Section 8.7.2 | | |||
| to be assigned | NAT-Control-Remove | Section 7.7.3 | | | to be assigned | NAT-Control-Remove | Section 8.7.3 | | |||
| to be assigned | NAT-Control-Definition | Section 7.7.4 | | | to be assigned | NAT-Control-Definition | Section 8.7.4 | | |||
| to be assigned | NAT-Internal-Address | Section 7.7.5 | | | to be assigned | NAT-Internal-Address | Section 8.7.5 | | |||
| to be assigned | NAT-External-Address | Section 7.7.6 | | | to be assigned | NAT-External-Address | Section 8.7.6 | | |||
| to be assigned | Max-NAT-Bindings | Section 7.7.7 | | | to be assigned | Max-NAT-Bindings | Section 8.7.7 | | |||
| to be assigned | NAT-Control-Binding-Rule | Section 7.7.8 | | | to be assigned | NAT-Control-Binding-Rule | Section 8.7.8 | | |||
| to be assigned | Duplicate-Session-Id | Section 7.7.9 | | | to be assigned | Duplicate-Session-Id | Section 8.7.9 | | |||
| to be assigned | NAT-Control-Record | Section 8.2.1 | | | to be assigned | NAT-Control-Record | Section 9.2.1 | | |||
| to be assigned | NAT-Control-Binding-Status | Section 8.2.2 | | | to be assigned | NAT-Control-Binding-Status | Section 9.2.2 | | |||
| to be assigned | Current-NAT-Bindings | Section 8.2.3 | | | to be assigned | Current-NAT-Bindings | Section 9.2.3 | | |||
+----------------+----------------------------+---------------+ | +----------------+----------------------------+---------------+ | |||
Table 2: AVP codes | Table 2: AVP codes | |||
10.3. AVP Values | 11.3. AVP Values | |||
10.3.1. Result-Code AVP Values | 11.3.1. Result-Code AVP Values | |||
Section 7.2 defines several new values for the Result-Code AVP for | Section 8.2 defines several new values for the Result-Code AVP for | |||
transient and permanent failures. IANA is requested to allocate the | transient and permanent failures. IANA is requested to allocate the | |||
corresponding values from the ranges for transient (4xxx) and | corresponding values from the ranges for transient (4xxx) and | |||
permantent (5xxx) failures. | permantent (5xxx) failures. | |||
+-----------+---------------------------------------+---------------+ | +-----------+---------------------------------------+---------------+ | |||
| Code | Name | Reference | | | Code | Name | Reference | | |||
| Value | | | | | Value | | | | |||
+-----------+---------------------------------------+---------------+ | +-----------+---------------------------------------+---------------+ | |||
| to be | RESOURCE_FAILURE | Section 7.2.2 | | | to be | RESOURCE_FAILURE | Section 8.2.2 | | |||
| assigned | | | | | assigned | | | | |||
| (4xxx) | | | | | (4xxx) | | | | |||
| to be | UNKNOWN_BINDING_RULE_NAME | Section 7.2.3 | | | to be | UNKNOWN_BINDING_RULE_NAME | Section 8.2.3 | | |||
| assigned | | | | | assigned | | | | |||
| (5xxx) | | | | | (5xxx) | | | | |||
| to be | BINDING_FAILURE | Section 7.2.3 | | | to be | BINDING_FAILURE | Section 8.2.3 | | |||
| assigned | | | | | assigned | | | | |||
| (5xxx) | | | | | (5xxx) | | | | |||
| to be | MAXIMUM_BINDINGS_REACHED_FOR_ENDPOINT | Section 7.2.3 | | | to be | MAXIMUM_BINDINGS_REACHED_FOR_ENDPOINT | Section 8.2.3 | | |||
| assigned | | | | | assigned | | | | |||
| (5xxx) | | | | | (5xxx) | | | | |||
| to be | SESSION_EXISTS | Section 7.2.3 | | | to be | SESSION_EXISTS | Section 8.2.3 | | |||
| assigned | | | | | assigned | | | | |||
| (5xxx) | | | | | (5xxx) | | | | |||
| to be | INSUFFICIENT_CLASSIFIERS | Section 7.2.3 | | | to be | INSUFFICIENT_CLASSIFIERS | Section 8.2.3 | | |||
| assigned | | | | | assigned | | | | |||
| (5xxx) | | | | | (5xxx) | | | | |||
+-----------+---------------------------------------+---------------+ | +-----------+---------------------------------------+---------------+ | |||
Table 3: Result Code AVP Values | Table 3: Result Code AVP Values | |||
10.4. Application IDs | 11.4. Application IDs | |||
IANA is requested to allocate the following application ID using the | IANA is requested to allocate the following application ID using the | |||
next value from the 7-16777215 range. | next value from the 7-16777215 range. | |||
Registry: | Registry: | |||
+----------------+----------------------------------+-----------+ | +----------------+----------------------------------+-----------+ | |||
| ID Value | Name | Reference | | | ID Value | Name | Reference | | |||
+----------------+----------------------------------+-----------+ | +----------------+----------------------------------+-----------+ | |||
| to be assigned | Diameter NAT Control Application | Section 4 | | | to be assigned | Diameter NAT Control Application | Section 4 | | |||
+----------------+----------------------------------+-----------+ | +----------------+----------------------------------+-----------+ | |||
Table 4: Diameter Application ID values | Table 4: Diameter Application ID values | |||
11. Security Considerations | 12. Security Considerations | |||
Similar to the impact of Diameter QoS application (see | Similar to the impact of Diameter QoS application (see | |||
[I-D.ietf-dime-diameter-qos]) on authorization of QoS reservations, | [I-D.ietf-dime-diameter-qos]) on authorization of QoS reservations, | |||
this document describes procedures for authorizing NAT related | this document describes procedures for authorizing NAT related | |||
attributes and parameters by an entity, which is non-local to the | attributes and parameters by an entity, which is non-local to the | |||
device performing NAT. The security considerations for the Diameter | device performing NAT. The security considerations for the Diameter | |||
QoS application (see [I-D.ietf-dime-diameter-qos] section 11) apply | QoS application (see [I-D.ietf-dime-diameter-qos] section 11) apply | |||
in a similar way to the DNCA. Securing the information exchange | in a similar way to the DNCA. Securing the information exchange | |||
between the authorizing entity (the DNCA Manager) and the NAT device | between the authorizing entity (the DNCA Manager) and the NAT device | |||
requires bilateral authentication of the involved parties, | requires bilateral authentication of the involved parties, | |||
authorization of the involved parties to perform the required | authorization of the involved parties to perform the required | |||
procedures and functions, and procedures to ensure integrity and | procedures and functions, and procedures to ensure integrity and | |||
confidentiality of the information exchange. The DNCA makes use of | confidentiality of the information exchange. The DNCA makes use of | |||
the capabilities offered by Diameter and the underlying transport | the capabilities offered by Diameter and the underlying transport | |||
protocols to deliver these requirements (see Section 5.1 ). | protocols to deliver these requirements (see Section 5.1 ). | |||
It is assumed that the DNCA Agent and DNCA Manager are in the same | It is assumed that the DNCA Agent and DNCA Manager are in the same | |||
domain and have a mutual trust set up. Authorization between the | domain and have a mutual trust set up. Authorization between the | |||
DNCA Agent and DNCA Manager is beyond the scope of this document. | DNCA Agent and DNCA Manager is beyond the scope of this document. | |||
12. Acknowledgements | 13. Acknowledgements | |||
The authors would like to thank Ramya Balakrishna, Jouni Korhonen, | The authors would like to thank Jouni Korhonen, Avi Lior, Chris Metz, | |||
Avi Lior, Chris Metz, Hannes Tschofenig, Greg Weber, and Glen Zorn | Hannes Tschofenig, Greg Weber, and Glen Zorn for their input on this | |||
for their input on this document. | document. | |||
13. Change History (to be removed prior to publication as an RFC) | 14. Change History (to be removed prior to publication as an RFC) | |||
Changes from -00 to -01 | Changes from -00 to -01 | |||
a. new values for Result-Code AVP used - instead of Experimental- | a. new values for Result-Code AVP used - instead of Experimental- | |||
Result AVP | Result AVP | |||
b. added support for transport specific binding (UDP/TCP) | b. added support for transport specific binding (UDP/TCP) | |||
c. added support for twice-NAT | c. added support for twice-NAT | |||
skipping to change at page 38, line 4 | skipping to change at page 40, line 30 | |||
Changes from -01 to -02 | Changes from -01 to -02 | |||
a. Reference to pull mode removed, session initiation event | a. Reference to pull mode removed, session initiation event | |||
clarified in section 4.1 | clarified in section 4.1 | |||
b. added Redirect-* AVPs in NCA command | b. added Redirect-* AVPs in NCA command | |||
c. Removed reference to Called-Station-Id AVP in NCR command | c. Removed reference to Called-Station-Id AVP in NCR command | |||
d. Editorial changes | d. Editorial changes | |||
e. added support for bindings providing AFT (NAT64) | e. added support for bindings providing AFT (NAT64) | |||
Changes from -02 to -03 | Changes from -02 to -03 | |||
a. Editorial changes | a. Editorial changes | |||
14. References | Changes from -03 to -04 | |||
14.1. Normative References | a. Editorial changes suggested in WG Lastcall review | |||
b. Removed NCR Request type terminate and replaced with STR | ||||
c. All references to Auth-Session-State are removed and a new | ||||
section to describe FSM for Manager and Agent has been added | ||||
d. Clarified reuse of External address and address pools among | ||||
multiple subscribers | ||||
15. References | ||||
15.1. Normative References | ||||
[ETSIES283034] | [ETSIES283034] | |||
ETSI, "Telecommunications and Internet Converged Services | ETSI, "Telecommunications and Internet Converged Services | |||
and Protocols for Advanced Networks (TISPAN),Network | and Protocols for Advanced Networks (TISPAN),Network | |||
Attachment Sub-System (NASS),e4 interface based on the | Attachment Sub-System (NASS),e4 interface based on the | |||
Diameter protocol.", September 2008. | Diameter protocol.", September 2008. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
skipping to change at page 38, line 35 | skipping to change at page 41, line 27 | |||
[RFC4675] Congdon, P., Sanchez, M., and B. Aboba, "RADIUS Attributes | [RFC4675] Congdon, P., Sanchez, M., and B. Aboba, "RADIUS Attributes | |||
for Virtual LAN and Priority Support", RFC 4675, | for Virtual LAN and Priority Support", RFC 4675, | |||
September 2006. | September 2006. | |||
[RFC5777] Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., | [RFC5777] Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., | |||
and A. Lior, "Traffic Classification and Quality of | and A. Lior, "Traffic Classification and Quality of | |||
Service (QoS) Attributes for Diameter", RFC 5777, | Service (QoS) Attributes for Diameter", RFC 5777, | |||
February 2010. | February 2010. | |||
14.2. Informative References | 15.2. Informative References | |||
[I-D.ietf-dime-diameter-qos] | [I-D.ietf-dime-diameter-qos] | |||
Sun, D., McCann, P., Tschofenig, H., ZOU), T., Doria, A., | Sun, D., McCann, P., Tschofenig, H., ZOU), T., Doria, A., | |||
and G. Zorn, "Diameter Quality of Service Application", | and G. Zorn, "Diameter Quality of Service Application", | |||
draft-ietf-dime-diameter-qos-14 (work in progress), | draft-ietf-dime-diameter-qos-14 (work in progress), | |||
February 2010. | February 2010. | |||
[I-D.narten-iana-considerations-rfc2434bis] | ||||
Narten, T. and H. Alvestrand, "Guidelines for Writing an | ||||
IANA Considerations Section in RFCs", | ||||
draft-narten-iana-considerations-rfc2434bis-09 (work in | ||||
progress), March 2008. | ||||
[I-D.nishitani-cgn] | [I-D.nishitani-cgn] | |||
Nishitani, T., Yamagata, I., Miyakawa, S., Nakagawa, A., | Nishitani, T., Yamagata, I., Miyakawa, S., Nakagawa, A., | |||
and H. Ashida, "Common Functions of Large Scale NAT | and H. Ashida, "Common Functions of Large Scale NAT | |||
(LSN)", draft-nishitani-cgn-03 (work in progress), | (LSN)", draft-nishitani-cgn-03 (work in progress), | |||
November 2009. | November 2009. | |||
[RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, | [RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, | |||
"Diameter Network Access Server Application", RFC 4005, | "Diameter Network Access Server Application", RFC 4005, | |||
August 2005. | August 2005. | |||
[RFC5624] Korhonen, J., Tschofenig, H., and E. Davies, "Quality of | ||||
Service Parameters for Usage with Diameter", RFC 5624, | ||||
August 2009. | ||||
[TS32299] "3rd Generation Partnership Project; Technical | [TS32299] "3rd Generation Partnership Project; Technical | |||
Specification Group Service and System Aspects; | Specification Group Service and System Aspects; | |||
Telecommunication management; Charging management; | Telecommunication management; Charging management; | |||
"Diameter charging applications", 3GPP TS 32.299 Version | "Diameter charging applications", 3GPP TS 32.299 Version | |||
9.4.0", 2008. | 6.3.0.2", 2008. | |||
Authors' Addresses | Authors' Addresses | |||
Frank Brockners | Frank Brockners | |||
Cisco | Cisco | |||
Hansaallee 249, 3rd Floor | Hansaallee 249, 3rd Floor | |||
DUESSELDORF, NORDRHEIN-WESTFALEN 40549 | DUESSELDORF, NORDRHEIN-WESTFALEN 40549 | |||
Germany | Germany | |||
Email: fbrockne@cisco.com | Email: fbrockne@cisco.com | |||
End of changes. 107 change blocks. | ||||
239 lines changed or deleted | 354 lines changed or added | |||
This html diff was produced by rfcdiff 1.40. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |