draft-ietf-dime-nat-control-01.txt | draft-ietf-dime-nat-control-02.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: April 26, 2010 V. Singh | Expires: September 8, 2010 V. Singh | |||
Mavenir Systems | Mavenir Systems | |||
V. Fajardo | V. Fajardo | |||
Telcordia Technologies | Telcordia Technologies | |||
October 23, 2009 | March 7, 2010 | |||
Diameter NAT Control Application | Diameter Network Address and Port Translation Control Application | |||
draft-ietf-dime-nat-control-01 | draft-ietf-dime-nat-control-02 | |||
Abstract | ||||
This document describes the framework, messages, and procedures for | ||||
the Diameter Network Address and Port Translation Control Application | ||||
(DNCA), allowing for per-endpoint control of large scale NAT/NAPT | ||||
devices, which are put in place to cope with IPv4-address space | ||||
completion. The DNCA allows external devices to configure and manage | ||||
a NAT device - expanding the existing Diameter-based AAA and policy | ||||
control capabilities with a NAT/NAPT control component. These | ||||
external devices can be network elements in the data plane such as a | ||||
Network Access Server (NAS), or can be more centralized control plane | ||||
devices such as AAA-servers. DNCA establishes a context to commonly | ||||
identify and manage endpoints on a gateway or server, and a large | ||||
scale NAPT/NAT device. This includes, for example, the control of | ||||
the total number of NAT-bindings allowed or the allocation of a | ||||
specific NAT-binding for a particular endpoint. In addition, it | ||||
allows large scale NAT devices to provide information relevant to | ||||
accounting purposes. | ||||
Status of this Memo | Status of this Memo | |||
This Internet-Draft is submitted to IETF in full conformance with the | This Internet-Draft is submitted to IETF 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), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
other groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
Drafts. | Drafts. | |||
skipping to change at page 1, line 36 | skipping to change at page 2, line 9 | |||
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." | |||
The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
This Internet-Draft will expire on April 26, 2010. | This Internet-Draft will expire on September 8, 2010. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2009 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 in effect on the date of | Provisions Relating to IETF Documents | |||
publication of this document (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | ||||
Abstract | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | ||||
This document describes the framework, messages, and procedures for | described in the BSD License. | |||
the Diameter NAT Control Application (DNCA), allowing for per- | ||||
endpoint control of large scale NAT devices, which are put in place | ||||
to cope with IPv4-address space completion. The Diameter NAT Control | ||||
Application allows external devices to configure and manage a Large | ||||
Scale NAT (LSN) device - expanding the existing Diameter-based AAA | ||||
and policy control capabilities with a NAT control component. These | ||||
external devices can be network elements in the data plane such as a | ||||
Network Access Server (NAS), or can be more centralized control plane | ||||
devices such as AAA-servers. DNCA establishes a context to commonly | ||||
identify and manage endpoints on a gateway or server, and a large | ||||
scale NAT device. This includes, for example, the control of the | ||||
total number of NAT-bindings allowed or the allocation of a specific | ||||
NAT-binding for a particular endpoint. In addition, it allows large | ||||
scale NAT devices to provide information relevant to accounting | ||||
purposes. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
3. Deployment framework and DNCA capabilities . . . . . . . . . . 6 | 3. Deployment Framework . . . . . . . . . . . . . . . . . . . . . 7 | |||
3.1. Diameter NAT Control Application capabilities . . . . . . 6 | 3.1. Deployment Scenario . . . . . . . . . . . . . . . . . . . 7 | |||
3.2. LSN Control Deployment Framework . . . . . . . . . . . . . 7 | 3.2. Diameter NAPT Control Application Overview . . . . . . . . 8 | |||
3.2.1. LSN Deployment scenario . . . . . . . . . . . . . . . 8 | 3.3. Deployment Scenarios For The Diameter NAPT Control | |||
3.2.2. Diameter NAT Control Application overview . . . . . . 9 | Application . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
3.2.3. Deployment scenarios for the Diameter NAT Control | ||||
Application . . . . . . . . . . . . . . . . . . . . . 9 | ||||
4. Diameter NAT Control Application Session Establishment and | 4. Diameter NAT Control Application Session Establishment and | |||
Management . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | Management . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
4.1. Parties involved . . . . . . . . . . . . . . . . . . . . . 12 | 4.1. Parties Involved . . . . . . . . . . . . . . . . . . . . . 11 | |||
4.2. Session Establishment . . . . . . . . . . . . . . . . . . 12 | 4.2. Session Establishment . . . . . . . . . . . . . . . . . . 11 | |||
4.3. Session Re-Authorization . . . . . . . . . . . . . . . . . 14 | 4.3. Session Re-Authorization . . . . . . . . . . . . . . . . . 13 | |||
4.4. Session and Binding Query . . . . . . . . . . . . . . . . 16 | 4.4. Session And Binding Query . . . . . . . . . . . . . . . . 15 | |||
4.5. Session Termination . . . . . . . . . . . . . . . . . . . 18 | 4.5. Session Termination . . . . . . . . . . . . . . . . . . . 17 | |||
4.6. DNCA Manager/Agent failures . . . . . . . . . . . . . . . 19 | 4.6. DNCA Manager/Agent Failures . . . . . . . . . . . . . . . 18 | |||
5. Use of the DIAMETER base protocol . . . . . . . . . . . . . . 20 | 5. Use Of The Diameter Base Protocol . . . . . . . . . . . . . . 19 | |||
5.1. Securing DIAMETER messages . . . . . . . . . . . . . . . . 20 | 5.1. Securing Diameter Messages . . . . . . . . . . . . . . . . 19 | |||
5.2. Accounting functionality . . . . . . . . . . . . . . . . . 21 | 5.2. Accounting Functionality . . . . . . . . . . . . . . . . . 20 | |||
5.3. Use of sessions . . . . . . . . . . . . . . . . . . . . . 21 | 5.3. Use Of Sessions . . . . . . . . . . . . . . . . . . . . . 20 | |||
5.4. Routing considerations . . . . . . . . . . . . . . . . . . 21 | 5.4. Routing Considerations . . . . . . . . . . . . . . . . . . 20 | |||
5.5. Advertising Application support . . . . . . . . . . . . . 21 | 5.5. Advertising Application Support . . . . . . . . . . . . . 20 | |||
6. Diameter NAT Control Application Commands . . . . . . . . . . 22 | 6. Diameter NAT Control Application Commands . . . . . . . . . . 20 | |||
6.1. NAT-Control Request (NCR) Command . . . . . . . . . . . . 22 | 6.1. NAT-Control Request (NCR) Command . . . . . . . . . . . . 21 | |||
6.2. NAT-Control Answer (NCA) Command . . . . . . . . . . . . . 22 | 6.2. NAT-Control Answer (NCA) Command . . . . . . . . . . . . . 21 | |||
7. Diameter NAT Control Application AVPs . . . . . . . . . . . . 23 | 7. Diameter NAT Control Application AVPs . . . . . . . . . . . . 22 | |||
7.1. Reused Base Protocol AVPs . . . . . . . . . . . . . . . . 23 | 7.1. Reused Base Protocol AVPs . . . . . . . . . . . . . . . . 22 | |||
7.2. Additional Result-Code AVP values . . . . . . . . . . . . 24 | 7.2. Additional Result-Code AVP Values . . . . . . . . . . . . 23 | |||
7.2.1. Success . . . . . . . . . . . . . . . . . . . . . . . 24 | 7.2.1. Success . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
7.2.2. Transient failures . . . . . . . . . . . . . . . . . . 25 | 7.2.2. Transient Failures . . . . . . . . . . . . . . . . . . 24 | |||
7.2.3. Permanent failures . . . . . . . . . . . . . . . . . . 25 | 7.2.3. Permanent Failures . . . . . . . . . . . . . . . . . . 24 | |||
7.3. Reused NASREQ Diameter application AVPs . . . . . . . . . 26 | 7.3. Reused NASREQ Diameter Application AVPs . . . . . . . . . 25 | |||
7.4. Reused from RFC 4675 . . . . . . . . . . . . . . . . . . . 26 | 7.4. Reused from RFC 4675 . . . . . . . . . . . . . . . . . . . 25 | |||
7.5. Reused from Diameter QoS Application . . . . . . . . . . . 27 | 7.5. Reused from Diameter QoS Application . . . . . . . . . . . 26 | |||
7.6. Reused from ETSI ES 283 034, e4 Diameter application . . . 27 | 7.6. Reused From ETSI ES 283 034, e4 Diameter Application . . . 26 | |||
7.7. Diameter NAT Control Application Defined AVPs . . . . . . 28 | 7.7. Diameter NAT Control Application Defined AVPs . . . . . . 27 | |||
7.7.1. NC-Request-Type AVP . . . . . . . . . . . . . . . . . 28 | 7.7.1. NC-Request-Type AVP . . . . . . . . . . . . . . . . . 27 | |||
7.7.2. NAT-Control-Install AVP . . . . . . . . . . . . . . . 29 | 7.7.2. NAT-Control-Install AVP . . . . . . . . . . . . . . . 28 | |||
7.7.3. NAT-Control-Remove AVP . . . . . . . . . . . . . . . . 29 | 7.7.3. NAT-Control-Remove AVP . . . . . . . . . . . . . . . . 28 | |||
7.7.4. NAT-Control-Definition AVP . . . . . . . . . . . . . . 30 | 7.7.4. NAT-Control-Definition AVP . . . . . . . . . . . . . . 29 | |||
7.7.5. NAT-Internal-Address AVP . . . . . . . . . . . . . . . 30 | 7.7.5. NAT-Internal-Address AVP . . . . . . . . . . . . . . . 29 | |||
7.7.6. NAT-External-Address AVP . . . . . . . . . . . . . . . 31 | 7.7.6. NAT-External-Address AVP . . . . . . . . . . . . . . . 30 | |||
7.7.7. Max-NAT-Bindings . . . . . . . . . . . . . . . . . . . 31 | 7.7.7. Max-NAT-Bindings . . . . . . . . . . . . . . . . . . . 30 | |||
7.7.8. NAT-Control-Binding-Rule AVP . . . . . . . . . . . . . 31 | 7.7.8. NAT-Control-Binding-Rule AVP . . . . . . . . . . . . . 30 | |||
7.7.9. Duplicate-Session-Id AVP . . . . . . . . . . . . . . . 31 | 7.7.9. Duplicate-Session-Id AVP . . . . . . . . . . . . . . . 30 | |||
8. Accounting Commands . . . . . . . . . . . . . . . . . . . . . 30 | ||||
8. Accounting Commands . . . . . . . . . . . . . . . . . . . . . 31 | 8.1. NAT Control Accounting Messages . . . . . . . . . . . . . 31 | |||
8.1. NAT Control Accounting Messages . . . . . . . . . . . . . 32 | 8.2. NAT Control Accounting AVPs . . . . . . . . . . . . . . . 31 | |||
8.2. NAT Control Accounting AVPs . . . . . . . . . . . . . . . 32 | 8.2.1. NAT-Control-Record . . . . . . . . . . . . . . . . . . 31 | |||
8.2.1. NAT-Control-Record . . . . . . . . . . . . . . . . . . 32 | 8.2.2. NAT-Control-Binding-Status . . . . . . . . . . . . . . 31 | |||
8.2.2. NAT-Control-Binding-Status . . . . . . . . . . . . . . 32 | 8.2.3. Current-NAT-Bindings . . . . . . . . . . . . . . . . . 32 | |||
8.2.3. Current-NAT-Bindings . . . . . . . . . . . . . . . . . 33 | 9. AVP Occurrence Table . . . . . . . . . . . . . . . . . . . . . 32 | |||
9. AVP Occurrence Table . . . . . . . . . . . . . . . . . . . . . 33 | ||||
9.1. DNCA AVP Table for NAT control initial and update | 9.1. DNCA AVP Table for NAT control initial and update | |||
requests . . . . . . . . . . . . . . . . . . . . . . . . . 34 | requests . . . . . . . . . . . . . . . . . . . . . . . . . 33 | |||
9.2. DNCA AVP Table for Session Query request . . . . . . . . . 34 | 9.2. DNCA AVP Table for Session Query request . . . . . . . . . 33 | |||
9.3. DNCA AVP Table for NAT Control Terminate requests . . . . 34 | 9.3. DNCA AVP Table for NAT Control Terminate requests . . . . 33 | |||
9.4. DNCA AVP Table for accounting message . . . . . . . . . . 35 | 9.4. DNCA AVP Table For Accounting Message . . . . . . . . . . 34 | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 35 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 34 | |||
10.1. Command Codes . . . . . . . . . . . . . . . . . . . . . . 35 | 10.1. Command Codes . . . . . . . . . . . . . . . . . . . . . . 34 | |||
10.2. AVP Codes . . . . . . . . . . . . . . . . . . . . . . . . 36 | 10.2. AVP Codes . . . . . . . . . . . . . . . . . . . . . . . . 35 | |||
10.3. AVP Values . . . . . . . . . . . . . . . . . . . . . . . . 36 | 10.3. AVP Values . . . . . . . . . . . . . . . . . . . . . . . . 35 | |||
10.3.1. Result-Code AVP Values . . . . . . . . . . . . . . . . 36 | 10.3.1. Result-Code AVP Values . . . . . . . . . . . . . . . . 35 | |||
10.4. Application IDs . . . . . . . . . . . . . . . . . . . . . 37 | 10.4. Application IDs . . . . . . . . . . . . . . . . . . . . . 36 | |||
11. Security Considerations . . . . . . . . . . . . . . . . . . . 37 | 11. Security Considerations . . . . . . . . . . . . . . . . . . . 36 | |||
12. Change history (to be removed prior to publication as an | 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
RFC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 | 13. Change History (to be removed prior to publication as an | |||
13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 38 | RFC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
13.1. Normative References . . . . . . . . . . . . . . . . . . . 38 | 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 38 | |||
13.2. Informative References . . . . . . . . . . . . . . . . . . 39 | 14.1. Normative References . . . . . . . . . . . . . . . . . . . 38 | |||
14.2. Informative References . . . . . . . . . . . . . . . . . . 38 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 39 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 39 | |||
1. Introduction | 1. Introduction | |||
With the foreseeable depletion of available IPv4 addresses from the | Internet service providers have started to deploy Network Address | |||
IANA pool, service providers are starting to consider network designs | Translators (NATs) and Network Address and Port Translators (NAPTs) | |||
which no longer assign unique global IPv4 addresses to their | at the edge of their networks to deal with the depletion of available | |||
subscribers. One of the approaches considered, is the deployment of | public IPv4 addresses. This document defines a Diameter application | |||
a provider-operated large scale NAT device between the end-users and | for providers deploying such NATs and NAPT devices. The use of a | |||
the Internet. Nishitani et al. [I-D.nishitani-cgn] call this NAT | Diameter application allows for simple integration into the existing | |||
device a "Large Scale NAT (LSN)". | AAA environment of a provider. | |||
LSNs will be inserted into the existing subscriber access and | The Diameter NAPT Control Application (DNCA) offers the following | |||
aggregation networks which typically provide for per-endpoint service | capabilities: | |||
management and control as well as per-endpoint accounting. Per- | ||||
endpoint rules include those which relate to service offerings of the | ||||
SP (e.g. access bandwidth, time or volume based access restrictions) | ||||
as well as rules which follow legal regulations of the "National | ||||
Regulation Authorities (NRA)". The introduction of a LSN impacts the | ||||
per-endpoint service offerings as well as the regulatory requirements | ||||
and gives rise to new control requirements within the service | ||||
provider network: Service providers need to manage the behavior of | ||||
the LSN on a per-endpoint basis. | ||||
The per-endpoint management capabilities of a LSN comprise, for | 1. Limit/Define the number of NAPT/NAT-bindings made available to an | |||
example the control of the number of NAT-address-port pairs (often | individual subscriber or end point. | |||
called "NAT-bindings" or simply "bindings") allocated to a single | ||||
endpoint. Given that global IPv4 address-port pairs are becoming a | ||||
scarce resource, several service providers intend to restrict the | ||||
number of NAT-bindings on a per endpoint basis and thus increase | ||||
address utilization efficiency. The number of bindings an endpoint | ||||
can consume becomes another parameter within a tiered-service | ||||
offering. In addition, the service provider might offer static | ||||
bindings to endpoints or pre-allocate external IP-address/port-ranges | ||||
to certain endpoints. One of the NRA requirements is that a service | ||||
provider needs to provide the identity of a user (which e.g. | ||||
translates to the public IP address and ports leveraged by the user | ||||
at a given point in time) upon request. | ||||
Dynamic per-endpoint management at the LSN requires an associated | 2. Support the allocation of specific NAPT/NAT-bindings. Two types | |||
interface that has to be tightly integrated with the existing per- | of specific bindings can be distinguished: | |||
endpoint authentication, authorization, and accounting (AAA) | ||||
environment of the service provider. | ||||
This document describes the framework, messages and procedures for | * Allocation of a pre-defined NAT-binding. Both the internal as | |||
the Diameter carrier-grade NAT Control Application (DNCA). The DNCA | well as the external IP-address/port pair are specified within | |||
interacts with the LSN to coordinate per-endpoint configuration and | the request. Some deployment cases, such as access to a web- | |||
management of subscriber traffic traversing the LSN. Use of a | server within a user's home network with IP-address and port, | |||
Diameter application allows for simple integration into the existing | benefit from statically configured bindings. | |||
AAA environment of a service provider. | ||||
* Allocation of an external IP-address for a given internal IP- | ||||
address. The allocated external IP-address will be reported | ||||
back to the requestor. In some deployment scenarios, the | ||||
application requires immediate knowledge of the allocated | ||||
binding for a given internal IP-address but does not control | ||||
the allocation of the external IP-address (e.g. SIP-proxy | ||||
server deployments). | ||||
3. Define the external address-pool(s) to be used for allocating an | ||||
external IP-address. External address-pools can either be pre- | ||||
assigned at the NAPT/NAT, or specified within a request. If pre- | ||||
assigned address-pools are used, a request needs to include a | ||||
reference to identify the pool. Otherwise, the request will | ||||
contain a description of the IP- address pool(s) to be used (e.g. | ||||
list of IP-subnets). | ||||
4. Accounting/Reporting: Report established bindings for a | ||||
particular user. The collected information is used by accounting | ||||
systems, for statistical purposes, etc. | ||||
5. Query functionality to retrieve details about bindings on demand. | ||||
This feature complements the previously mentioned accounting | ||||
functionality mentioned above (see item 4). The query | ||||
functionality complements alternative information query | ||||
mechanisms such as SNMP-based mechanisms, if available. | ||||
6. Common identification of a subscriber or endpoint on multiple | ||||
network devices such as the NAPT/NAT device, the AAA server, or | ||||
the Network Access Server (NAS). Endpoint identification is | ||||
facilitated through a Global Endpoint ID. Endpoints are | ||||
identified through a single or a set of classifiers such as IP | ||||
address, VLAN identifier, or interface identifier which uniquely | ||||
identify the traffic associated with a particular global endpoint | ||||
This document is structured as follows: Section 2 lists terminology, | ||||
while Section 3 provides an introduction to the Diameter NAPT Control | ||||
Application and its overall deployment framework. Sections 4 to 8 | ||||
cover the DNCA specifics, with Section 4 describing session | ||||
management, Section 5 the use of the Diameter base protocol, Section | ||||
6 new commands, Section 7 the respective AVPs used, and Section 8 | ||||
accounting aspects. Section 9 presents an AVP occurance table. IANA | ||||
and security considerations are addressed in Sections 10 and 11. | ||||
2. Conventions | 2. Conventions | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
Abbreviations are used in this document: | Abbreviations are used in this document: | |||
AAA: Authentication, Authorization, Accounting | AAA: Authentication, Authorization, Accounting | |||
DNCA: Diameter NAT Control Application | DNCA: Diameter NAT Control Application | |||
LSN: Large Scale NAT device | NAPT: Network Address and Port Translation | |||
NAT: Network Address Translation | ||||
NAS: Network Access Server | NAT: Network Address Translation (NAT and NAPT are used in this | |||
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 | |||
NRA: National Regulatory Authority | NAS: Network Access Server | |||
3. Deployment framework and DNCA capabilities | ||||
3.1. Diameter NAT Control Application capabilities | ||||
The Diameter NAT control application offers the following | ||||
capabilities: | ||||
1. Limit the number of NAT-bindings per endpoint: Define/restrict | ||||
the maximum number of NAT-bindings on a per-endpoint basis. This | ||||
enables service providers to offer differentiated services based | ||||
on the number of bindings and hence optimize the consumption of | ||||
IP-address/port-ranges. | ||||
2. Request the allocation of specific NAT-bindings: Under normal | ||||
operation the LSN would allocate NAT-bindings based on rules and | ||||
algorithms local to the LSN. Fixed or pre-defined bindings would | ||||
be the exception rather than the rule but are essential for | ||||
certain deployment scenarios. Requests for NAT-binding | ||||
allocation could happen either at or after initial session | ||||
establishment. Two cases could be distinguished: | ||||
* Request the allocation of a pre-defined NAT-binding. Both the | ||||
internal as well as the external IP-address/port pair are | ||||
specified within the request. Some deployment cases, such as | ||||
access to a web-server within a user's home network with IP- | ||||
address and port, benefit from statically configured bindings. | ||||
* Request the allocation of an external IP-address for a given | ||||
internal IP-address and report the allocated external IP- | ||||
address back to the requestor. In some deployment scenarios, | ||||
the application requires immediate knowledge of the allocated | ||||
binding for a given internal IP-address but does not control | ||||
the allocation of the external IP-address (e.g. SIP-proxy | ||||
server deployments). | ||||
3. Define the external address-pool(s) to be used for allocating an | ||||
external IP-address. External address-pools can either be pre- | ||||
defined on the LSN, or specified within a request. If pre- | ||||
defined address-pools are used, a request would just include a | ||||
reference (e.g. name) to an already defined address pool on LSN. | ||||
Otherwise, the request will contain a description of the IP- | ||||
address pool(s) to be used (e.g. list of IP-subnets). | ||||
4. Accounting/Reporting: Report established bindings for a | ||||
particular user. Apart from statistical and charging purposes, | ||||
binding reporting is also required for legal reasons. Most | ||||
National Regulatory Authorities (NRA) require that service | ||||
providers provide the identity of a user upon request. The | ||||
service provider needs to be able to correlate a tuple (public | ||||
IP-address, port, time) to a particular user or endpoint. | ||||
5. Flexible Information Query: Report details and statistics of | ||||
bindings for a single endpoint or a set of endpoints through an | ||||
external interface which integrates with the overall per-endpoint | ||||
management suite. Hence this information query capability of the | ||||
DNCA potentially complements alternative information query | ||||
mechanisms such as SNMP-based mechanisms. | ||||
6. Global Endpoint ID: The global endpoint ID will allow for common | 3. Deployment Framework | |||
identification of an endpoint on a LSN as well as other endpoint- | ||||
or subscriber-aware devices such as a Network Access Server (NAS) | ||||
or an AAA system. Endpoints are identified through a single or a | ||||
set of classifiers such as IP address, VLAN identifier, or | ||||
interface identifier which uniquely identify the traffic | ||||
associated with a particular global endpoint. | ||||
3.2. LSN Control Deployment Framework | 3.1. Deployment Scenario | |||
3.2.1. LSN 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 Network Access | user's IPv4-host gains access to the internet though a Network Access | |||
Server (NAS) which facilitates the authentication of the endpoint and | Server (NAS) which facilitates the authentication of the endpoint and | |||
configures the user's connection according to the authorization and | configures the user's connection according to the authorization and | |||
configuration data received from the AAA-server upon successful | configuration data received from the AAA-server upon successful | |||
authentication. Public IPv4 addresses are used throughout the | authentication. Public IPv4 addresses are used throughout the | |||
network. | network. | |||
+---------+ | ||||
| | | ||||
| AAA | | ||||
| | | ||||
+---------+ | ||||
| | ||||
| | ||||
| | ||||
| | ||||
+---------+ +---------+ +----------+ | ||||
| IPv4 | | | | IPv4 | | ||||
| Host |----------| NAS |-------------| Internet | | ||||
| | | | | | | ||||
+---------+ +---------+ +----------+ | ||||
<-------------------- Public IPv4 ----------------------> | ||||
Figure 1: Typical network deployment for internet access | ||||
Figure 2 depicts the deployment scenario when a service provider | ||||
introduces a LSN to increase the efficiency of the global IPv4 | ||||
address pool utilization. The objective is to provide the customer | ||||
with connectivity to the public IPv4 Internet. The LSN performs | ||||
network address translation between private IPv4 addresses and public | ||||
IPv4 addresses. If the LSN would be put in place without any | ||||
endpoint awareness, the service offerings of the service provider | ||||
would be hampered. Provisioning static NAT-bindings for particular | ||||
endpoints, using different public IP-address pools for different set | ||||
of endpoints (e.g. residential or business customers), as well as | ||||
reporting on the allocated bindings on a per-endpoint basis would be | ||||
burdensome for a service provider if the LSN would not be aware of | ||||
endpoints and allow for per-endpoint control and management which | ||||
easily integrates with the already existing per-endpoint management | ||||
infrastructure of the service provider. | ||||
+---------+ | +---------+ | |||
| | | | | | |||
| AAA | | | AAA | | |||
| | | | | | |||
+---------+ | +---------+ | |||
| | | | |||
| | | | |||
| | | | |||
| | | | |||
+--------+ +---------+ +---------+ +----------+ | +---------+ +---------+ +----------+ | |||
| IPv4 | | | | | | IPv4 | | | IPv4 | | | | IPv4 | | |||
| Host |----| NAS |----| LSN |----| Internet | | | Host |----------| NAS |-------------| Internet | | |||
| | | | | | | | | | | | | | | | |||
+--------+ +---------+ +---------+ +----------+ | +---------+ +---------+ +----------+ | |||
<-------- Private IPv4 -----------><--- Public IPv4 ---> | <-------------------- Public IPv4 ----------------------> | |||
Figure 1: Typical network deployment for internet access | ||||
Figure 2 depicts the deployment scenario when a service provider | ||||
introduces a NAT device to increase the efficiency of the global IPv4 | ||||
address pool utilization. The objective is to provide the customer | ||||
with connectivity to the public IPv4 Internet. The NAT device | ||||
performs network address (and optionally protocol) translation, | ||||
depending on whether the access network uses private IPv4 addresses | ||||
or public IPv6 addresses, to public IPv4 addresses. If the NAT | ||||
device would be put in place without any endpoint awareness, the | ||||
service offerings of the service provider would be hampered. | ||||
Provisioning static NAT-bindings for particular endpoints, using | ||||
different public IP-address pools for different set of endpoints | ||||
(e.g. residential or business customers), as well as reporting on the | ||||
allocated bindings on a per-endpoint basis would be burdensome for a | ||||
service provider if the NAT device would not be aware of endpoints | ||||
and allow for per-endpoint control and management which easily | ||||
integrates with the already existing per-endpoint management | ||||
infrastructure of the service provider. | ||||
+---------+ | ||||
| | | ||||
| AAA | | ||||
| | | ||||
+---------+ | ||||
| | ||||
| | ||||
| | ||||
| | ||||
+--------+ +---------+ +---------+ +----------+ | ||||
| IPv4 | | | | | | IPv4 | | ||||
| Host |----| NAS |----| NAT |----| Internet | | ||||
| | | | | | | | | ||||
+--------+ +---------+ +---------+ +----------+ | ||||
<-------- Private IPv4 -----------><--- Public IPv4 ---> | ||||
<-------- Public IPv6 -----------><--- Public IPv4 ---> | ||||
Figure 2: Access network deployment with LSN | Figure 2: Access network deployment with LSN | |||
3.2.2. Diameter NAT Control Application overview | 3.2. Diameter NAPT Control Application Overview | |||
The Diameter NAT Control Application runs between a Diameter NAT | The Diameter NAT Control Application runs between a Diameter NAT | |||
Control Application Agent on the LSN and the Diameter NAT Control | Control Application Agent on the NAT and the Diameter NAT Control | |||
Application Manager. DNCA allows for per-endpoint control and | Application Manager. DNCA allows for per-endpoint control and | |||
management of a LSN. Being based on Diameter, DNCA integrates well | management of a NAT. Being based on Diameter, DNCA integrates well | |||
with the suite of Diameter applications deployed for per-endpoint | with the suite of Diameter applications deployed for per-endpoint | |||
authentication, authorization, accounting, and policy control in | authentication, authorization, accounting, and policy control in | |||
service provider networks. | service provider networks. | |||
DNCA offers request and answer commands to control the allowed number | DNCA offers request and answer commands to control the allowed number | |||
of NAT-bindings per endpoint, to request the allocation of specific | of NAT-bindings per endpoint, to request the allocation of specific | |||
bindings for an endpoint, to define the address pool to be used for | bindings for an endpoint, to define the address pool to be used for | |||
an endpoint, to provide per endpoint reporting on the allocated NAT- | an endpoint, to provide per endpoint reporting on the allocated NAT- | |||
bindings, as well as to provide for unique identification of an | bindings, as well as to provide for unique identification of an | |||
endpoint on both LSN, AAA-server and NAS, thus simplifying the | endpoint on both NAT, AAA-server and NAS, thus simplifying the | |||
correlation of accounting data streams. | correlation of accounting data streams. | |||
DNCA allows for controlling the behavior of a LSN on a per-endpoint | DNCA allows for controlling the behavior of a NAT device on a per- | |||
basis during initial session establishment as well as at later stages | endpoint basis during initial session establishment as well as at | |||
by providing an update procedure for already established sessions. | later stages by providing an update procedure for already established | |||
Using DNCA, per-endpoint NAT-binding information can be retrieved | sessions. Using DNCA, per-endpoint NAT-binding information can be | |||
either using accounting mechanisms or through an explicit session | retrieved either using accounting mechanisms or through an explicit | |||
query to the LSN. | session query to the NAT. | |||
3.2.3. Deployment scenarios for the Diameter NAT Control Application | 3.3. Deployment Scenarios For The Diameter NAPT Control Application | |||
Deployment dependent, the role of the Diameter NAT Control Manager | Deployment dependent, the role of the Diameter NAT Control Manager | |||
can be fulfilled by either the NAS or by an external server such as | can be fulfilled by either the NAS or by an external server such as | |||
an AAA-server. The two deployment scenarios are outlined in Figure 3 | an AAA-server. The two deployment scenarios are outlined in Figure 3 | |||
("integrated deployment") and Figure 4 ("autonomous deployment"). | ("integrated deployment") and Figure 4 ("autonomous deployment"). | |||
Within the figures (M) denotes the network element which takes on the | Within the figures (M) denotes the network element which takes on the | |||
DNCA manager role. Similarly, (A) identifies the network element | DNCA manager role. Similarly, (A) identifies the network element | |||
which performs the DNCA agent role. | which performs the DNCA agent role. | |||
The integrated deployment approach hides the existence of the LSN | The integrated deployment approach hides the existence of the NAT | |||
from external servers such as the AAA-server as much as possible. It | device from external servers such as the AAA-server as much as | |||
is suited for environments where minimal changes to the existing AAA | possible. It is suited for environments where minimal changes to the | |||
deployment are desired. The NAS, taking the role of the DNCA | existing AAA deployment are desired. The NAS, taking the role of the | |||
manager, is in charge of initiating and managing the session to the | DNCA manager, is in charge of initiating and managing the session to | |||
LSN, exchanging LSN specific configuration information as well as | the NAT device, exchanging NAT specific configuration information as | |||
handling reporting and accounting information. The NAS receives | well as handling reporting and accounting information. The NAS | |||
reporting and accounting information from LSN. This way the NAS can | receives reporting and accounting information from NAT device. This | |||
provide for a single accounting record for the user, offloading | way the NAS can provide for a single accounting record for the user, | |||
external accounting systems from correlating accounting information | offloading external accounting systems from correlating accounting | |||
received from multiple sources. | information received from multiple sources. | |||
An example network attachment for an integrated LSN deployment could | An example network attachment for an integrated NAT deployment could | |||
be described as follows: An endpoint connects to the network, with | be described as follows: An endpoint connects to the network, with | |||
the NAS being the point of attachment. After successful | the NAS being the point of attachment. After successful | |||
authentication, NAS receives endpoint related authorization data from | authentication, NAS receives endpoint related authorization data from | |||
the AAA-server. A portion of the authorization data applies to per- | the AAA-server. A portion of the authorization data applies to per- | |||
endpoint configuration on the NAS itself, another portion describes | endpoint 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 LSN. NAS will initiate a DNCA session to the LSN and send the | the NAT. NAS will initiate a DNCA session to the NAT and send the | |||
relevant authorization and configuration information for the | relevant authorization and configuration information for the | |||
particular endpoint to the LSN. This could comprise e.g. NAT- | particular endpoint to the NAT device. This could comprise e.g. | |||
bindings which have to be pre-established for the endpoint, or | NAT-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 | |||
LSN will send its per-endpoint accounting information to the NAS | NAT device will send its per-endpoint accounting information to the | |||
which aggregates the accounting information received from the LSN | NAS which aggregates the accounting information received form the NAT | |||
with its local accounting information for the endpoint into a single | with its local accounting information for the endpoint into a single | |||
accounting stream towards the AAA-server. | accounting stream towards the AAA-server. | |||
+---------+ | +---------+ | |||
| | | | | | |||
| AAA | | | AAA | | |||
| | | | | | |||
+---------+ | +---------+ | |||
| | | | |||
| | | | |||
| | | | |||
+--------+ +---------+ +---------+ +----------+ | +--------+ +---------+ +---------+ +----------+ | |||
| IPv4 | | (M) | | (A) | | IPv4 | | | IPv4 | | (M) | | (A) | | IPv4 | | |||
| Host |----| NAS |----| LSN |----| Internet | | | Host |----| NAS |----| NAT |----| Internet | | |||
| | | | | | | | | | | | | | | | | | |||
+--------+ +---------+ +---------+ +----------+ | +--------+ +---------+ +---------+ +----------+ | |||
<-------- 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 LSN. The AAA system performing the role of the DNCA manager | and NAT device. The AAA system performing the role of the DNCA | |||
manages the connection to the LSN, controls the per-endpoint | manager manages the connection to the NAT device, controls the per- | |||
configuration, and also receives accounting and reporting information | endpoint configuration, and also receives accounting and reporting | |||
from LSN. Different from the integrated deployment scenario, the | information from the NAT device. Different from the integrated | |||
autonomous deployment scenario does not "hide" the existence of the | deployment scenario, the autonomous deployment scenario does not | |||
LSN from the AAA infrastructure. Here two accounting streams are | "hide" the existence of the NAT device from the AAA infrastructure. | |||
received by the AAA-server for one particular endpoint, one from the | Here two accounting streams are received by the AAA-server for one | |||
NAS, and one from the LSN. | 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 | | |||
| Host |----| NAS |----| LSN |----| Internet | | | | | | | | | | | |||
| | | | | | | | | +--------+ +---------+ +---------+ +----------+ | |||
+--------+ +---------+ +---------+ +----------+ | <-------- 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. Diameter NAT Control Application Session Establishment and | 4. Diameter NAT Control Application Session Establishment and | |||
Management | 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 7 | |||
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 Diameter NAT Control Application (DNCA) agent: The DNCA agent is | o Diameter NAT Control Application (DNCA) agent: The DNCA agent is | |||
part of the Large scale NAT (LSN) device | part of the Large scale NAT (NAT) device | |||
o Diameter NAT Control Application (DNCA) manager | o Diameter NAT Control Application (DNCA) manager | |||
The current version of the draft assumes that the NAT control | The NAT control requesting entity is always the DNCA manager. | |||
requesting entity is always the DNCA manager. Sessions will always | Sessions will always be initiated, updated, or terminated by the DNCA | |||
be initiated, updated, or terminated by the DNCA manager. This mode | manager. This mode of operation is sometimes also referred to as | |||
of operation is sometimes also referred to as "push mode". Session | "push mode". | |||
initiation by the DNCA agent (sometimes referred to as "pull mode") | ||||
will be covered in a future version of this draft. | DNCA manager can be NAS or AAA Server. DNCA manager will initiate a | |||
session with DNCA agent when it learns about the subscriber. DNCA | ||||
manager may learn about a subscriber when it receives authentication, | ||||
authorization or accounting request for that subscriber or by some | ||||
other means such as on the box configuration to identify subscriber | ||||
w.r.t IP packets. | ||||
4.2. Session Establishment | 4.2. Session Establishment | |||
The DNCA manager establishes a session to the DNCA agent to control | The DNCA manager establishes a session to 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 will pass along configuration information to the DNCA | DNCA manager will pass along configuration information to the DNCA | |||
agent. Session configuration information could for example comprise | agent. Session configuration information could for example comprise | |||
the maximum number of bindings allowed for the endpoint associated | the maximum number of bindings allowed for the endpoint associated | |||
with this session, a set of pre-defined NAT-bindings to be | with this session, a set of pre-defined NAT-bindings to be | |||
established for this endpoint, or a description of the address pool, | established for this endpoint, or a description of the address pool, | |||
skipping to change at page 12, line 52 | skipping to change at page 12, line 8 | |||
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 the NCR the DNCA agent will setup a | INITIAL_REQUEST. On receipt of the NCR the DNCA agent will setup a | |||
new session for the endpoint associated with the endpoint | new session for the endpoint associated with the endpoint | |||
classifier(s) contained in the NCR. The DNCA agent notifies the DNCA | classifier(s) contained in the NCR. The DNCA agent notifies the DNCA | |||
manager about successful session setup using a NAT-Control Answer | manager about successful session setup using a NAT-Control Answer | |||
(NCA) message with Result-Code set to DIAMETER_SUCCESS. Figure 5 | (NCA) message with Result-Code set to DIAMETER_SUCCESS. Figure 5 | |||
shows the protocol interaction between the DNCA manager and the DNCA | shows the protocol interaction between the DNCA manager and the DNCA | |||
agent. | agent. | |||
The initial NAT-Control-Request can contain configuration information | The initial NAT-Control-Request can contain configuration information | |||
for the session which specifies the behavior of the LSN for the | for the session which specifies the behavior of the NAT for the | |||
session. Configuration information which can be included comprises: | session. Configuration information which can be included 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 | |||
session (e.g. in case a subscriber requires a fixed external IP- | session (e.g. in case a subscriber requires a fixed external IP- | |||
address/port pair for one of his applications). | address/port pair for one of his applications). | |||
o The maximum number of NAT bindings allowed for an endpoint. | o The maximum number of NAT bindings allowed for an endpoint. | |||
o A description of the external address pool(s) to be used for the | o A description of the external address pool(s) to be used for the | |||
session. | session. | |||
o A reference to a predefined binding rule on DNCA agent that will | o A reference to a predefined binding rule on DNCA agent that will | |||
be applied to the session. Such a predefined binding rule on DNCA | be applied to the session. Such a predefined binding rule on DNCA | |||
agent may contain, for example, the name of the IP-address pool | agent may contain, for example, the name of the IP-address pool | |||
that the external IP-addresses should be allocated from, the | that external IP-addresses should be allocated from, maximum | |||
maximum number of bindings permitted for the endpoint etc. | number of bindings permitted for the endpoint etc. | |||
In certain cases, the DNCA agent may not be able to perform the tasks | In certain cases, the DNCA agent may not be able to perform the tasks | |||
requested within the NCR. These include the following: | requested within the NCR. These include the following: | |||
o If a DNCA agent receives a NCR from a DNCA manager with NC- | o If a DNCA agent receives a NCR from a DNCA manager with NC- | |||
Request-Type AVP set to INITIAL_REQUEST that identifies an already | Request-Type AVP set to INITIAL_REQUEST that identifies an already | |||
existing session (i.e. DNCA manager and endpoint identifier match | existing session (i.e. DNCA manager and endpoint identifier match | |||
an already existing session), the DNCA agent will return NCA with | an already existing session), the DNCA agent will return NCA with | |||
Result-Code set to SESSION_EXISTS, and provides Session-Id of the | Result-Code set to SESSION_EXISTS, and provides Session-Id of the | |||
existing session in Duplicate-Session-Id AVP. | existing session in Duplicate-Session-Id AVP. | |||
o If a DNCA agent receives an NCR from a DNCA manager with NC- | o If a DNCA agent receives an NCR from a DNCA manager with NC- | |||
Request-Type AVP set to INITIAL_REQUEST that matches more than one | Request-Type AVP set to INITIAL_REQUEST that matches more than one | |||
of the already existing sessions (i.e. DNCA manager and endpoint | of the already existing sessions (i.e. DNCA manager and endpoint | |||
identifier match already existing sessions), the DNCA agent will | identifier match already existing sessions), the DNCA agent will | |||
return a NCA with Result-Code set to Insufficient- Classifiers. | return a NCA with Result-Code set to Insufficient-Classifiers. In | |||
In case a DNCA manager receives a NCA that reports Insufficient- | case a DNCA manager receives a NCA that reports Insufficient- | |||
Classifiers, it may choose to retry establishing a new session | Classifiers, it may choose to retry establishing a new session | |||
using additional/more specific classifiers. | using additional/more specific classifiers. | |||
o If the NCR contains a binding rule not defined on the LSN, the | o If the NCR contains a binding rule not defined on the NAT, the | |||
DNCA agent will return a NCA with Result-Code AVP set to | DNCA agent will return a NCA with Result-Code AVP set to | |||
UNKNOWN_BINDING_RULE. | UNKNOWN_BINDING_RULE. | |||
o In case the DNCA agent is unable to establish all of the bindings | o In case the DNCA agent is unable to establish all of the bindings | |||
requested in the NCR, it will return a NCA with Result-Code set to | requested in the NCR, it will return a NCA with Result-Code set to | |||
BINDING_FAILURE. The DNCA agent (i.e. LSN) treats a NCR as an | BINDING_FAILURE. The DNCA agent (i.e. NAT) treats a NCR as an | |||
atomic operation; hence none of the requested bindings will be | atomic operation; hence none of the requested bindings will be | |||
established by LSN. Either all requested actions within a NCR are | established by NAT. Either all requested actions within a NCR are | |||
completed successfully, or the entire request fails. | completed successfully, or the entire request fails. | |||
o If DNCA agent does not have sufficient resources to process a | o If DNCA agent does not have sufficient resources to process a | |||
request, it will return NCA with Result-Code set to | request, it will return NCA with Result-Code set to | |||
RESOURCE_FAILURE. | RESOURCE_FAILURE. | |||
o In case Max-NAT-Binding and Nat-Control-Definition are included in | o In case Max-NAT-Binding and Nat-Control-Definition are included in | |||
the NCR along with a reference to a binding rule (i.e. a | the NCR along with a reference to a binding rule (i.e. a | |||
predefined template on LSN) and the values in Max-NAT-Binding and | predefined template on NAT) and the values in Max-NAT-Binding and | |||
NAT-Control-Definition contradict those specified in the pre- | NAT-Control-Definition 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 | |||
override the values specified in the binding rule. | override the values specified in the binding rule. | |||
DNCA Manager DNCA Agent | DNCA Manager DNCA Agent | |||
| | | | | | |||
| | | | | | |||
| | | | | | |||
Trigger | | Trigger | | |||
| | | | | | |||
skipping to change at page 14, line 42 | skipping to change at page 13, line 45 | |||
|<------------------------------------------| | |<------------------------------------------| | |||
| (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 LSN 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 NAT-Control Request (NCR) message to the | The DNCA manager generates a NAT-Control Request (NCR) message to the | |||
DNCA agent with NC-Request-Type AVP set to UPDATE_REQUEST upon | DNCA agent with NC-Request-Type AVP set to UPDATE_REQUEST upon | |||
receiving a trigger signal. In case the session is updated | receiving a trigger signal. In case the session is updated | |||
successfully, the DNCA agent notifies the DNCA manager about | successfully, the DNCA agent notifies the DNCA manager about | |||
successful session update using a NAT-Control Answer (NCA) message | successful session update using a NAT-Control Answer (NCA) message | |||
with Result-Code set to DIAMETER_SUCCESS. Figure 6 shows the | with Result-Code set to DIAMETER_SUCCESS. Figure 6 shows the | |||
protocol interaction between the DNCA manager and the DNCA agent. | protocol interaction between the DNCA manager and the DNCA agent. | |||
In certain cases, the DNCA agent may not be able to perform the tasks | In certain cases, the DNCA agent may not be able to perform the tasks | |||
requested within the NCR. These include the following: | requested within the NCR. These include the following: | |||
o If DNCA agent receives a NCR update/query request for non-existent | o If DNCA agent receives a NCR update/query request for non-existent | |||
session it will set error code in answer, to | session it will set error code in answer, to | |||
DIAMETER_UNKNOWN_SESSION_ID. | DIAMETER_UNKNOWN_SESSION_ID. | |||
o If the NCR contains a binding rule not defined on the LSN, the | o If the NCR contains a binding rule not defined on the NAT, the | |||
DNCA agent will return a NCA with Result-Code AVP set to | DNCA agent will return a NCA with Result-Code AVP set to | |||
UNKNOWN_BINDING_RULE. | UNKNOWN_BINDING_RULE. | |||
o If the DNCA agent cannot establish the requested binding because | o If the DNCA agent cannot establish the requested binding because | |||
the maximum number of allowed bindings has been reached for the | the maximum number of allowed bindings has been reached for the | |||
Endpoint Classifier, it will return NCA with Result-Code AVP set | Endpoint Classifier, it will return NCA with Result-Code AVP set | |||
to MAXIMUM_BINDINGS_REACHED_FOR_ENDPOINT. | to MAXIMUM_BINDINGS_REACHED_FOR_ENDPOINT. | |||
o In case the DNCA agent cannot establish some or all of the | o In case the DNCA agent cannot establish some or all of the | |||
bindings requested in a NCR, but has not yet reached the maximum | bindings requested in a NCR, but has not yet reached the maximum | |||
number of allowed bindings for the subscriber, it will return a | number of allowed bindings for the subscriber, it will return a | |||
NCA with Result-Code set to BINDING_FAILURE. The DNCA agent (i.e. | NCA with Result-Code set to BINDING_FAILURE. The DNCA agent (i.e. | |||
LSN) treats a NCR as an atomic operation; hence none of the | NAT) treats a NCR as an atomic operation; hence none of the | |||
requested bindings will be established by LSN. Either all | requested bindings will be established by NAT. Either all | |||
requested actions within a NCR are completed successfully, or the | requested actions within a NCR are completed successfully, or the | |||
entire request fails. | entire request fails. | |||
o If DNCA agent does not have sufficient resources to process a | o If DNCA agent does not have sufficient resources to process a | |||
request, it will return a NCA with Result-Code set to | request, it will return a NCA with Result-Code set to | |||
RESOURCE_FAILURE. | RESOURCE_FAILURE. | |||
o If a NCR redefines the maximum number of NAT bindings allowed for | o If a NCR redefines the maximum number of NAT bindings allowed for | |||
the endpoint, the new value will override any previously defined | the endpoint, the new value will override any previously defined | |||
limit on NAT-bindings. It depends on the implementation of the | limit on NAT-bindings. It depends on the implementation of the | |||
LSN how LSN would cope with a case where the new value is lower | NAT how NAT would cope with a case where the new value is lower | |||
than the actual number of allocated bindings. Typically the LSN | than the actual number of allocated bindings. Typically the NAT | |||
would refrain from enforcing the new limit immediately (i.e. | would refrain from enforcing the new limit immediately (i.e. | |||
actively remove bindings) but rather disallow the establishment of | actively remove bindings) but rather disallow the establishment of | |||
new bindings until the current number of bindings is lower than | new bindings until the current number of bindings is lower than | |||
the newly established maximum number of allowed bindings. | the newly established maximum 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 will override any previously defined rules | agent, the binding rule will override any previously defined rules | |||
for the session. | for the session. | |||
o In case Max-NAT-Binding and Nat-Control-Definition are included in | o In case Max-NAT-Binding and Nat-Control-Definition AVPs are | |||
the NCR along with a reference to a binding rule (i.e. a | included in the NCR along with a reference to a binding rule (i.e. | |||
predefined template on LSN) and the values in Max-NAT-Binding and | a predefined template on NAT) and the values in Max-NAT-Binding | |||
Nat-Control-Definition contradict those specified in the pre- | and Nat-Control-Definition AVPs contradict those specified in the | |||
defined binding rule, Max-NAT-Binding and NAT-Control-Definition | pre-defined binding rule, Max-NAT-Binding and NAT-Control- | |||
override the values specified in the binding rule. | Definition AVPs override the values specified in the binding rule. | |||
DNCA Manager DNCA Agent | DNCA Manager DNCA Agent | |||
| | | | | | |||
| | | | | | |||
| | | | | | |||
Change of session | | Change of session | | |||
attributes | | attributes | | |||
| | | | | | |||
| NCR | | | NCR | | |||
|------------------------------------------>| | |------------------------------------------>| | |||
skipping to change at page 16, line 33 | skipping to change at page 15, line 36 | |||
| | | | | | |||
| | | | | | |||
| NCA | | | NCA | | |||
|<------------------------------------------| | |<------------------------------------------| | |||
| (result code) | | | (result code) | | |||
| | | | | | |||
| | | | | | |||
Figure 6: NAT Control request for session update | Figure 6: NAT Control request for session update | |||
4.4. Session and Binding Query | 4.4. Session And Binding Query | |||
Session query can be used by the DNCA manager to either retrieve | Session query can be used by the DNCA manager to either retrieve | |||
information on the current bindings for a particular session at the | information on the current bindings for a particular session at the | |||
LSN or discover the session identifier for a particular external IP- | NAT or discover the session identifier for a particular external IP- | |||
address/port pair. | address/port pair. | |||
The DNCA manager initiates a session query by sending a NAT-Control | The DNCA manager initiates a session query by sending a NAT-Control | |||
Request (NCR) message to the DNCA agent with NC-Request-Type AVP set | Request (NCR) message to the DNCA agent with NC-Request-Type AVP set | |||
to QUERY_REQUEST. Figure 7 shows the protocol interaction between | to QUERY_REQUEST. Figure 7 shows the protocol interaction between | |||
the DNCA manager and the DNCA agent. | the DNCA manager and the DNCA agent. | |||
Two types of query requests exist. The first type of query request | Two types of query requests exist. The first type of query request | |||
uses the session ID as input parameter to the query. It is to allow | uses the session ID as input parameter to the query. It is to allow | |||
the DNCA manager retrieve the current set of bindings for a specific | the DNCA manager retrieve the current set of bindings for a specific | |||
skipping to change at page 18, line 31 | skipping to change at page 17, line 31 | |||
|<------------------------------------------| | |<------------------------------------------| | |||
| (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 NAT-Control Request (NCR) message to the | |||
DNCA agent with NC-Request-Type AVP set to TERMINATE REQUEST upon | DNCA agent with NC-Request-Type AVP set to TERMINATE_REQUEST upon | |||
receiving a trigger signal. The DNCA agent sends accounting stop | receiving a trigger signal. The DNCA agent sends accounting stop | |||
record reporting all the bindings and notifies the DNCA manager about | record reporting all the bindings and notifies the DNCA manager about | |||
successful session termination using a NAT-Control Answer (NCA) | successful session termination using a NAT-Control Answer (NCA) | |||
message with Result-Code set to DIAMETER_SUCCESS. Figure 8 shows the | message with Result-Code set to DIAMETER_SUCCESS. Figure 8 shows the | |||
protocol interaction between the DNCA manager and the DNCA agent. | 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 a NCR from a DNCA manager with NC-Request- | |||
Type AVP set to Terminate REQUEST and fails to find a matching | Type AVP set to TERMINATE_REQUEST and fails to find a matching | |||
session, the DNCA agent returns DIAMETER_UNKNOWN_SESSION_ID error. | session, the DNCA agent returns DIAMETER_UNKNOWN_SESSION_ID error. | |||
DNCA Manager DNCA Agent | DNCA Manager DNCA Agent | |||
| | | | | | |||
| | | | | | |||
Trigger | | Trigger | | |||
| | | | | | |||
| NCR | | | NCR | | |||
|------------------------------------------->| | |------------------------------------------->| | |||
| (TERMINATE_REQUEST, session id) | | | (TERMINATE_REQUEST, session id) | | |||
skipping to change at page 19, line 35 | skipping to change at page 18, line 35 | |||
| | | | | | |||
| | | | | | |||
| | | | | | |||
| NCA | | | NCA | | |||
|<-------------------------------------------| | |<-------------------------------------------| | |||
| (result code) | | | (result code) | | |||
| | | | | | |||
Figure 8: Terminate NAT Control session | Figure 8: Terminate NAT Control session | |||
4.6. DNCA Manager/Agent failures | 4.6. DNCA Manager/Agent Failures | |||
Disclaimer: This version of the draft does not cover details in case | This document does not cover details in case DNCA manager and DNCA | |||
DNCA manager and DNCA agent go out of sync, which could happen for | agent go out of sync, which could happen for example due to DNCA | |||
example due to DNCA manager or DNCA agent restart, (temporary) loss | manager or DNCA agent restart, (temporary) loss of network | |||
of network connectivity etc. Future versions of this draft will | connectivity etc. DNCA application will rely on DNCA Manager and | |||
cover failure cases and corresponding behavior of DNCA manager and | DNCA Agent to have builtin redundancy support to recover state in | |||
DNCA agent in detail. | 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 will return an error that contains | agent. The DNCA agent will return an error that contains | |||
Duplicate-Session-Id AVP to report Session-Id of existing | Duplicate-Session-Id AVP to report Session-Id of existing | |||
skipping to change at page 20, line 22 | skipping to change at page 19, line 22 | |||
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 could receive a NCR with NC-Request-Type AVP set to | agent could receive a NCR with NC-Request-Type AVP set to | |||
UPDATE_REQUEST for a non-existent session. The DNCA agent will | UPDATE_REQUEST for a non-existent session. The DNCA agent will | |||
return NCA with error code set to DIAMETER_UNKNOWN_SESSION_ID. | return NCA with error code set to DIAMETER_UNKNOWN_SESSION_ID. | |||
State recovery procedures of the DNCA agent will be covered in a | State recovery procedures of the DNCA agent will be covered in a | |||
future version of this document. | future version of this document. | |||
o The DNCA manager is unreachable (as e.g. detected by Diameter | o The DNCA manager is unreachable (as e.g. detected by Diameter | |||
watchdog) or down and accounting requests from the DNCA agent fail | watchdog) or down and accounting requests from the DNCA agent fail | |||
to get a response. The current version of the draft does not | to get a response. The mechanism to ensure that a DNCA manager no | |||
specify procedures for DNCA agent session state clean up or | longer has associated state for a session being cleared at the | |||
recovery. The mechanism to ensure that a DNCA manager no longer | DNCA agent is beyond the scope of this document. | |||
has associated state for a session being cleared at the DNCA agent | ||||
is beyond the scope of this document. | ||||
o The DNCA agent is unreachable or down and NCR requests fail to get | o The DNCA agent is unreachable or down and NCR requests fail to get | |||
a response. Handling of this case depends on the actual service | a response. Handling of this case depends on the actual service | |||
offering of the service provider. The service provider could, for | offering of the service provider. The service provider could, for | |||
example, choose to terminate the access session to the endpoint. | example, choose 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] shall apply, with the | The Diameter Base Protocol defined by [RFC3588] shall apply, 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 to do so, based on: | command is allowed to do so, 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 8 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 (see also capabilities Section 3.1). The DNCA agent and | identifier. The DNCA agent and DNCA manager maintain state | |||
DNCA manager maintain state associated with the Session-Id. This | associated with the Session-Id. This globally unique Session-Id is | |||
globally unique Session-Id is used for updating, accounting for and | used for updating, accounting for and terminating the session. DNCA | |||
terminating the session. DNCA session MUST NOT have more than one | session MUST NOT have more than one outstanding request at any given | |||
outstanding request at any given instant. The DNCA agent sends an | instant. The DNCA agent sends an Abort-Session-Request as defined in | |||
Abort-Session-Request as defined in [RFC3588] if it is unable to | [RFC3588] if it is unable to maintain sessions due to resource | |||
maintain sessions due to resource limitation. | limitation. | |||
5.4. Routing considerations | 5.4. Routing Considerations | |||
It is assumed that the DNCA manager knows the address/name of the | It is assumed that the DNCA manager knows the DiameterIdentity of the | |||
DNCA agent for a given endpoint. Both the Destination-Realm and | DNCA agent for a given endpoint. Both the Destination-Realm and | |||
Destination-Host AVPs are present in the Request from the DNCA | Destination-Host AVPs are present in the Request from the DNCA | |||
manager to the DNCA agent. | manager to the DNCA agent. | |||
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 (AAA) 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 (AAA) messages. | |||
6. Diameter NAT Control Application Commands | 6. Diameter NAT Control Application Commands | |||
The following commands are used to establish, maintain and clear LSN | The following commands are used to establish, maintain and clear 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. | |||
Message Format: | User-Name, Logical-Access-Id, Physical-Access-ID, Framed-IP-Address, | |||
Framed-IPv6-Prefix , Framed-Interface-Id, EGRESS-VLANID, NAS-Port-ID, | ||||
Address-Realm, Calling-Station-ID AVPs serve as identifiers for the | ||||
subscriber. | ||||
Message Format: | ||||
< 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 ] | [ 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-Interface-Id ] | [ Framed-Interface-Id ] | |||
[ EGRESS-VLANID] | [ EGRESS-VLANID] | |||
[ NAS-Port-ID] | [ NAS-Port-ID] | |||
[ Address-Realm ] | [ Address-Realm ] | |||
[ Called-Station-ID ] | [ Calling-Station-ID ] | |||
* [ Proxy-Info ] | * [ Proxy-Info ] | |||
* [ Route-Record ] | * [ Route-Record ] | |||
* [ AVP ] | * [ AVP ] | |||
6.2. NAT-Control Answer (NCA) Command | 6.2. NAT-Control Answer (NCA) Command | |||
The NAT-Control-Answer (NCA) command, indicated by the Command-Code | The NAT-Control-Answer (NCA) command, indicated by the Command-Code | |||
field set to TBD and the "R" bit cleared in the Command Flags field, | field set to TBD and the "R" bit cleared in the Command Flags field, | |||
is sent by the DNCA agent in response to NAT-Control-Request command. | is sent by the DNCA agent in response to NAT-Control-Request command. | |||
skipping to change at page 23, line 19 | skipping to change at page 22, line 19 | |||
{ NC-Request-Type } | { NC-Request-Type } | |||
[ Result-Code ] | [ Result-Code ] | |||
* [ NAT-Control-Definition ] | * [ NAT-Control-Definition ] | |||
[ Current-NAT-Bindings ] | [ Current-NAT-Bindings ] | |||
[ Origin-State-Id ] | [ Origin-State-Id ] | |||
[ Error-Message ] | [ Error-Message ] | |||
[ Error-Reporting-Host ] | [ Error-Reporting-Host ] | |||
* [ Failed-AVP ] | * [ Failed-AVP ] | |||
* [ Proxy-Info ] | * [ Proxy-Info ] | |||
[ Duplicate-Session-ID ] | [ Duplicate-Session-ID ] | |||
* [ Redirect-Host] | ||||
[ Redirect-Host-Usage ] | ||||
[ Redirect-Max-Cache-Time ] | ||||
* [ Proxy-Info ] | ||||
* [ Route-Record ] | ||||
* [ Failed-AVP ] | ||||
* [ AVP ] | ||||
* [ AVP ] | * [ AVP ] | |||
7. Diameter NAT Control Application AVPs | 7. Diameter NAT Control Application AVPs | |||
7.1. Reused Base Protocol AVPs | 7.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 | | |||
skipping to change at page 24, line 40 | skipping to change at page 23, line 40 | |||
| 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 | 7.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 | 7.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 | 7.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 | 7.2.3. Permanent Failures | |||
Result-Code AVP values that fall within the permanent failures | Result-Code AVP values that 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 26, line 11 | skipping to change at page 25, line 11 | |||
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 | |||
init request. | init request. | |||
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 | 7.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 | | |||
| NAS-Port-Id | 87 | UTF8String | M | P | | V | Y | | | NAS-Port-Id | 87 | UTF8String | M | P | | V | Y | | |||
| Called-Station-Id| 30 | UTF8String | M | P | | V | Y | | ||||
| Calling-Station- | 31 | UTF8String | M | P | | V | Y | | | Calling-Station- | 31 | UTF8String | M | P | | V | Y | | |||
| 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 | | ||||
| Prefix | | | | | | | | | ||||
+------------------+------+------------|----+-----+----+-----|----+ | +------------------+------+------------|----+-----+----+-----|----+ | |||
Figure 10: Reused NASREQ Diameter application AVPs | Figure 10: Reused NASREQ Diameter application AVPs | |||
7.4. Reused from RFC 4675 | 7.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 | |||
skipping to change at page 27, line 28 | skipping to change at page 26, line 28 | |||
|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 | 7.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 | | |||
|Logical-Access-Id 302 OctetString | V | M | Y | | |Logical-Access-Id 302 OctetString | V | M | Y | | |||
|Physical-Access-ID 313 UTF8String | V | M | Y | | |Physical-Access-ID 313 UTF8String | V | M | Y | | |||
+-----------------------------------------------+-----+---+---------+ | +-----------------------------------------------+-----+---+---------+ | |||
skipping to change at page 30, line 45 | skipping to change at page 29, line 42 | |||
{ 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 | 7.7.5. NAT-Internal-Address AVP | |||
The NAT-Internal-Address AVP (AVP code TBD) is of type Grouped, and | The NAT-Internal-Address AVP (AVP code TBD) is of type Grouped, and | |||
it describes the internal IP address and port for a binding. | it describes the internal IP address and port for a binding. Framed- | |||
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 ] | ||||
[ Port] | [ Port] | |||
[ AVP ] | * [ AVP ] | |||
7.7.6. NAT-External-Address AVP | 7.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. | |||
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 | 7.7.7. Max-NAT-Bindings | |||
The Max-NAT-Bindings AVP (AVP code TBD) is of type Unsigned32, and it | The Max-NAT-Bindings AVP (AVP code TBD) is of type Unsigned32, and 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 | 7.7.8. NAT-Control-Binding-Rule AVP | |||
The NAT-Control-Binding-Rule AVP (AVP code TBD) is of type is of type | The NAT-Control-Binding-Rule AVP (AVP code TBD) is of type is of type | |||
OctetString, and it defines a name for a policy template that will be | OctetString, and it defines a name for a policy template that will be | |||
predefined at LSN. Details on the contents and structure of the | predefined at NAT. Details on the contents and structure of the | |||
template as well as how it would be configured are outside the scope | template as well as how it would be configured are outside the scope | |||
of this document. The policy to which this AVP refers to may contain | of this document. The policy to which this AVP refers to may contain | |||
NAT Bindings, address pool for external address allocation of NAT | NAT Bindings, address pool for external address allocation of NAT | |||
binding, maximum allowed NAT bindings etc. | binding, maximum allowed NAT bindings etc. | |||
7.7.9. Duplicate-Session-Id AVP | 7.7.9. Duplicate-Session-Id AVP | |||
The Duplicate-Session-Id AVP (AVP Code TBD) is of is of type | The Duplicate-Session-Id AVP (AVP Code TBD) is of is of type | |||
UTF8String. It is used to report error and contains the Session-Id | UTF8String. It is used to report error and contains the Session-Id | |||
of an existing session. | of an existing session. | |||
skipping to change at page 32, line 21 | skipping to change at page 31, line 20 | |||
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 | 8.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 the CDF. ACR will contain one or more | between the DNCA agent and the CDF. DNCA Application ID is used in | |||
optional NAT-Control-Record AVP to report the bindings. The DNCA | the accounting commands. ACR will contain one or more optional NAT- | |||
agent indicates the number of the currently allocated NAT bindings to | Control-Record AVP to report the bindings. The DNCA agent indicates | |||
the DNCA manager using the Current-NAT-Bindings AVP. This number | the number of the currently allocated NAT bindings to the DNCA | |||
needs to match the number of bindings identified as active within the | manager using the Current-NAT-Bindings AVP. This number needs to | |||
NAT-Control-Record AVP. | match the number of bindings identified as active within the NAT- | |||
Control-Record AVP. | ||||
8.2. NAT Control Accounting AVPs | 8.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 | 8.2.1. NAT-Control-Record | |||
The NAT-Control-Record AVP (AVP code TBD) is of type Grouped, and it | The NAT-Control-Record AVP (AVP code TBD) is of type Grouped, and it | |||
describes a binding and its status. Event-Timestamp indicates the | describes a binding and its status. Event-Timestamp indicates the | |||
skipping to change at page 33, line 23 | skipping to change at page 32, line 22 | |||
Indicates that NAT binding is active. | Indicates that NAT binding is active. | |||
Removed (3) | Removed (3) | |||
Indicates that the NAT binding was removed. | Indicates that the NAT binding was removed. | |||
8.2.3. Current-NAT-Bindings | 8.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, | |||
and it indicates number of NAT bindings active on LSN. | and it indicates number of NAT bindings active on NAT. | |||
9. AVP Occurrence Table | 9. 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 in which Diameter messages they MAY be present. Note that | specifies in which Diameter messages they MAY be present. Note that | |||
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: | |||
skipping to change at page 35, line 19 | skipping to change at page 34, line 19 | |||
+-------------------------------------------------------+ | +-------------------------------------------------------+ | |||
|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 0 | | |Current-NAT-Bindings 0 0 | | |||
|Duplicate-Session-Id 0 0 | | |Duplicate-Session-Id 0 0 | | |||
+-------------------------------------------------------+ | +-------------------------------------------------------+ | |||
9.4. DNCA AVP Table for accounting message | 9.4. DNCA AVP Table For Accounting Message | |||
Following table presents which NAT control application specific AVPs | Following table presents which NAT control application specific AVPs | |||
May or May Not be present in ACR/ACA messages. | May or May Not be present in ACR/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 36, line 47 | skipping to change at page 35, line 47 | |||
Table 2: AVP codes | Table 2: AVP codes | |||
10.3. AVP Values | 10.3. AVP Values | |||
10.3.1. Result-Code AVP Values | 10.3.1. Result-Code AVP Values | |||
Section 7.2 defines several new values for the Result-Code AVP for | Section 7.2 defines several new values for the Result-Code AVP for | |||
transient failures and permanent failures. IANA is requested to | transient failures and permanent failures. IANA is requested to | |||
allocate the corresponding values from the ranges for transient | allocate the corresponding values from the ranges for transient | |||
(4xxx) and permanent (5xxx) failures. | (4xxx) and permantent (5xxx) failures. | |||
+-----------+---------------------------------------+---------------+ | +-----------+---------------------------------------+---------------+ | |||
| Code | Name | Reference | | | Code | Name | Reference | | |||
| Value | | | | | Value | | | | |||
+-----------+---------------------------------------+---------------+ | +-----------+---------------------------------------+---------------+ | |||
| to be | RESOURCE_FAILURE | Section 7.2.2 | | | to be | RESOURCE_FAILURE | Section 7.2.2 | | |||
| assigned | | | | | assigned | | | | |||
| (4xxx) | | | | ||||
| to be | UNKNOWN_BINDING_RULE_NAME | Section 7.2.3 | | | to be | UNKNOWN_BINDING_RULE_NAME | Section 7.2.3 | | |||
| assigned | | | | | assigned | | | | |||
| (5xxx) | | | | ||||
| to be | BINDING_FAILURE | Section 7.2.3 | | | to be | BINDING_FAILURE | Section 7.2.3 | | |||
| assigned | | | | | assigned | | | | |||
| (5xxx) | | | | ||||
| to be | MAXIMUM_BINDINGS_REACHED_FOR_ENDPOINT | Section 7.2.3 | | | to be | MAXIMUM_BINDINGS_REACHED_FOR_ENDPOINT | Section 7.2.3 | | |||
| assigned | | | | | assigned | | | | |||
| (5xxx) | | | | ||||
| to be | SESSION_EXISTS | Section 7.2.3 | | | to be | SESSION_EXISTS | Section 7.2.3 | | |||
| assigned | | | | | assigned | | | | |||
| (5xxx) | | | | ||||
| to be | INSUFFICIENT_CLASSIFIERS | Section 7.2.3 | | | to be | INSUFFICIENT_CLASSIFIERS | Section 7.2.3 | | |||
| assigned | | | | | assigned | | | | |||
| (5xxx) | | | | ||||
+-----------+---------------------------------------+---------------+ | +-----------+---------------------------------------+---------------+ | |||
Table 3: Result Code AVP Values | Table 3: Result Code AVP Values | |||
10.4. Application IDs | 10.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: | |||
skipping to change at page 38, line 8 | skipping to change at page 37, line 14 | |||
entity which is non-local to the device performing network address | entity which is non-local to the device performing network address | |||
translation. The security considerations for the Diameter QoS | translation. The security considerations for the Diameter QoS | |||
application (see [I-D.ietf-dime-diameter-qos] section 11) apply in a | application (see [I-D.ietf-dime-diameter-qos] section 11) apply in a | |||
similar way to the DNCA. Securing the information exchange between | similar way to the DNCA. Securing the information exchange between | |||
the authorizing entity (the DNCA manager) as well as the NAT device | the authorizing entity (the DNCA manager) as well as 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, as well as procedures to ensure integrity | procedures and functions, as well as procedures to ensure integrity | |||
and confidentiality of the information exchange. DNCA makes use of | and confidentiality of the information exchange. DNCA makes use of | |||
the capabilities offered by Diameter as well as the underlying | the capabilities offered by Diameter as well as the underlying | |||
transport protocols to deliver on these requirements (see | transport protocols to deliver on these requirements (see Section 5.1 | |||
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. Change history (to be removed prior to publication as an RFC) | 12. Acknowledgements | |||
The authors would like to thank Jouni Korhonen, Avi Lior, Chris Metz, | ||||
Hannes Tschofenig, Greg Weber, and Glen Zorn for their input on this | ||||
document. | ||||
13. 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 | |||
d. clarified the use of the two different types of query-requests | d. clarified the use of the two different types of query-requests | |||
13. References | Changes from -01 to -02 | |||
13.1. Normative References | a. Reference to pull mode removed, session initiation event | |||
clarified in section 4.1 | ||||
b. added Redirect-* AVPs in NCA command | ||||
c. Removed reference to Called-Station-Id AVP in NCR command | ||||
d. Editorial changes (shorted intro section | ||||
e. added support for bindings providing AFT (NAT64) | ||||
14. References | ||||
14.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. | |||
[I-D.ietf-dime-qos-attributes] | ||||
Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., | ||||
and A. Lior, "Quality of Service Attributes for Diameter", | ||||
draft-ietf-dime-qos-attributes-13 (work in progress), | ||||
July 2009. | ||||
[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. | |||
[RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. | [RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. | |||
Arkko, "Diameter Base Protocol", RFC 3588, September 2003. | Arkko, "Diameter Base Protocol", RFC 3588, September 2003. | |||
[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. | |||
13.2. Informative References | [RFC5777] Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., | |||
and A. Lior, "Traffic Classification and Quality of | ||||
Service (QoS) Attributes for Diameter", RFC 5777, | ||||
February 2010. | ||||
14.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-11 (work in progress), | draft-ietf-dime-diameter-qos-14 (work in progress), | |||
August 2009. | February 2010. | |||
[I-D.ietf-dime-qos-parameters] | [I-D.narten-iana-considerations-rfc2434bis] | |||
Korhonen, J., Tschofenig, H., and E. Davies, "Quality of | Narten, T. and H. Alvestrand, "Guidelines for Writing an | |||
Service Parameters for Usage with Diameter", | IANA Considerations Section in RFCs", | |||
draft-ietf-dime-qos-parameters-11 (work in progress), | draft-narten-iana-considerations-rfc2434bis-09 (work in | |||
May 2009. | progress), March 2008. | |||
[I-D.nishitani-cgn] | [I-D.nishitani-cgn] | |||
Nishitani, T., Miyakawa, S., Nakagawa, A., and H. Ashida, | Nishitani, T., Yamagata, I., Miyakawa, S., Nakagawa, A., | |||
"Common Functions of Large Scale NAT (LSN)", | and H. Ashida, "Common Functions of Large Scale NAT | |||
draft-nishitani-cgn-02 (work in progress), June 2009. | (LSN)", draft-nishitani-cgn-03 (work in progress), | |||
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 | |||
6.3.0.2", 2008. | 6.3.0.2", 2008. | |||
Authors' Addresses | Authors' Addresses | |||
Frank Brockners | Frank Brockners | |||
Cisco | Cisco | |||
skipping to change at page 40, line 19 | skipping to change at page 40, line 4 | |||
Email: shwethab@cisco.com | Email: shwethab@cisco.com | |||
Vaneeta Singh | Vaneeta Singh | |||
Mavenir Systems | Mavenir Systems | |||
Sharda Towers, 56/13 Nandidurga Road | Sharda Towers, 56/13 Nandidurga Road | |||
Bangalore 560046 | Bangalore 560046 | |||
India | India | |||
Email: vaneeta@mavenir.com | Email: vaneeta@mavenir.com | |||
Victor Fajardo | Victor Fajardo | |||
Telcordia Technologies | Telcordia Technologies | |||
1 Telcordia Drive #1S-222 | 1 Telcordia Drive #1S-222 | |||
Piscataway, NJ 08854 | Piscataway, NJ 08854 | |||
USA | USA | |||
Email: vfajardo@research.telcordia.com | Email: vf0213@gmail.com | |||
End of changes. 118 change blocks. | ||||
435 lines changed or deleted | 430 lines changed or added | |||
This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |