TOC |
|
This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as “work in progress.”
The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html.
This Internet-Draft will expire on January 14, 2010.
Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document.
This document describes a collection of test cases to be used for Diameter base protocol interoperability testing.
1.
Introduction
2.
Terminology
3.
Diameter Base Protocol Test Suite
3.1.
Required
3.1.1.
Connectivity and Peering
3.1.2.
Routing
3.1.3.
Relay Agent
3.1.4.
Redirection Agent
3.2.
Optional
3.2.1.
General Statemachine
3.2.2.
Dynamic Peer Discovery
4.
Diameter Base Protocol Application Support
4.1.
Authentication and/or Authorization
4.1.1.
Stateful Session
4.1.2.
Stateless Session
4.2.
Accounting
4.2.1.
Client Session
4.2.2.
Server Session
5.
Security Considerations
6.
IANA Considerations
7.
Normative References
§
Authors' Addresses
TOC |
The document is meant to aid in the identifying the functional test cases of a Diameter implementation. The Diameter interoperability test suites are categorized by required and optional functionality. The required functionality is the baseline capability that an implementation must support to allow basic interoperability for that category. Optional functionality covers features that not all implementations support or may wish to test. This document also covers test suites for common application support provided by the diameter base protocol.
At its current state, this document provides only a collection of test cases designed for interoperability. Test plans may be included in future revisions of this work or maybe provided in some other document.
TOC |
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.).
Within this document the terms defined in [RFC2119] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.) refer to the functionality that has to be provided by an implementation for the usage within this interoperability test document.
TOC |
All implementation must conform to [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.).
TOC |
TOC |
Implementations must conform to Section 5.6 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). Typical test
topology for statemachine test uses peer pairs as shown in Figure 1 (Peer Statemachine Test Topology). It is left to the testers if one-to-many or many-to-one
connections will be performed to test scalability and loading. The test cases described
below references Figure 1 (Peer Statemachine Test Topology) below.
+--------+ +--------+ |Vendor A|<---wired link---->|Vendor B| +--------+ +--------+
Figure 1: Peer Statemachine Test Topology |
TOC |
Implementations must be able to perform at least the following behavior described in Section 5.3 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.).
Verification of each test result can be done manually.
TOC |
This test case refers to Section 5.6.4 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). Responders must be able to resolve contention with initiator peers.
Verification of test results can be done manually.
TOC |
Implementations must conform to Section 5.6.4 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.) and Section 3.4.1 of [RFC3539] (Aboba, B. and J. Wood, “Authentication, Authorization and Accounting (AAA) Transport Profile,” June 2003.). Peers must be able to quickly determine disconnection events. Verification of test results can be done manually.
Verification of test results can be done manually.
TOC |
Implementations must conform to Section 2.1 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). Although a vendor can implement other algorithms and policies than those proposed in [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.), a default reconnection scheme must be implemented.
TOC |
Implementations must conform to Section 5.4.5 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.) and
Section 3.4.2 of [RFC3539] (Aboba, B. and J. Wood, “Authentication, Authorization and Accounting (AAA) Transport Profile,” June 2003.). Testing failover mechanism requires
alternate peer connections. A basic ring topology to test failover and failback is
shown in Figure 2 (Failover Test Topology) where vendor A has a primary route to vendor
C via vendor B and secondary route via vendor D. The same symmetry is applied to all
other vendors. As an example, vendor C has a symmetric topology where D is its primary
connection and B is its secondary. This allows the same tests to be performed for all
vendors. For testing failover on vendor A and B, link0 can be disconnected. For vendor
C and D, link2 can be disconnected and so on.
+---------+ |Vendor B | +---------+ / \ link0 link3 +---------+/ \+---------+ |Vendor A | |Vendor C | +---------+\ /+---------+ link1 link2 \+---------+/ |Vendor D | +---------+
Figure 2: Failover Test Topology |
TOC |
Implementation must conform to Section 6 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). A basic topology
to test Diameter routing is shown in Figure 3 (Routing Test Topology) where vendor A and
vendor B can deploy two(2) Diameter peers to test host, realm and answer message
routing. Vendor A1 and A2 shares the same realm (realmA). Vendor B1 and B2 share a
different realm (realmB). Test between both realms are symmetric although the
description focuses mostly to vendor A for editorial reasons. The topology is also
designed so that multi-hop forwarding, message loopback and agent configuration can be
tested. Note that some test cases in this section require link disconnection overlap
with the test cases outline in Section 3.1.1.3 (Disconnection). An implementation
experiencing link disconnection must update its peer and realm route table accordingly.
Verification for usage of proper routing AVPs in Section 6.7 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.)
must be done when testing routing functionality.
+---------+ |Vendor A2| (realmA) +---------+ / | \ (realmA) link1 | link2 +---------+/ | \+---------+ |Vendor A1| link0 |Vendor B2| (realmB) +---------+\ | /+---------+ link4 | link3 \+---------+/ |Vendor B1| +---------+ (realmB)
Figure 3: Routing Test Topology |
TOC |
Implementation must conform to Section 6.1.5 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). In order to perform the test cases the peer requesting the AAA routing must have the destination-host and the destination-realm present in the request message.
TOC |
Implementation must conform to Section 6.1 and Section 6.1.6 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). Test cases for realm-based request routing must have destination-realm present but must not have destination-host present in the request message. Note that there is some test overlap with the test cases defined in Section 3.1.2.1 (Peer Based Request Routing).
TOC |
Implementations must conform to Section 6.2 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). Answer routing can be verified using test cases in Section 3.1.2.1 (Peer Based Request Routing) and Section 3.1.2.2 (Realm Based Routing).
TOC |
Implementation must conform to Section 6.1.3 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). All forwarders must verify that their local identity is not present in the route-record of the request. If it is present, the forwarder must send an answer with result-code DIAMETER_LOOP_DETECTED. If it is not present, implementations must also insert route-records into the request messages.
TOC |
Implementations must conform to Section 2.8.1, 6.1.8 and 6.2.2 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). The topology shown in Figure 3 (Routing Test Topology) is also used for testing relay agent functionality. Note that an overlap exists with the test case described in Section 3.1.2 (Routing) when testing relay agents and those test cases should be used here as well. Verification for usage of routing AVPs in Section 6.7 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.) must be done when testing agent functionality. Testing of proxy agents that keep vendor specific state, such as proxy-info, proxy-state, proxy-host, is out of scope of this document and can be done in parallel or independent of the test cases enumerated here.
TOC |
Implementation must conform to Section 6.1.7 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). Verification can be made by inspecting the redirect answer message whether the result-code is set to DIAMETER_REDIRECT_INDICATION with the E-bit enabled and redirect-hosts added.
TOC |
Implementations must conform to Section 5.6 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). Test topology uses Figure 1 (Peer Statemachine Test Topology). This section describes optional test cases.
TOC |
Implementations must conform to Section 5.6.1 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). The same topology in Figure 1 (Peer Statemachine Test Topology) can be used to perform the test scenarios listed in this section.
TOC |
Implementations must conform to Section 5.3 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). Implementations must be able to perform at least the following behavior.
TOC |
TOC |
Applications intending to use authentication and/or authorization must conform to the statemachine specification in Section 8.1 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). Since these test cases are session level, any topology can be used by a pair of vendors performing interoperability. The minimum topology will be based on Figure 1 (Peer Statemachine Test Topology). Note that majority of these test are performed as part of other Diameter application test cases. Therefore, implementations must be able to comply with these common cases.
TOC |
Implementations must conform to Section 8.1 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). Implementations must be able to perform at least the following behavior.
TOC |
Implementations must conform to Section 8.1 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). Implementations must be able to perform at least the following behavior.
TOC |
Applications intending to use Diameter accounting may conform to Section 8.2 and 9 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.) if the particular application has not already defined its own statemachine. Since these test cases are also session level, any topology can be used by a pair of vendors performing interoperability. The minimum topology will be based on Figure 1 (Peer Statemachine Test Topology). Note that majority of these test are performed as part of other Diameter application test cases. Therefore, implementations must be able to comply with these common cases.
TOC |
Implementations must conform to Section 8.2 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). Implementations must be able to perform at least the following behavior. Verification of test results for these cases can be done manually.
TOC |
Implementations must conform to Section 8.2 and 9 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). Implementations must be able to perform at least the following behavior. Verification of test results for these cases can be done manually. Since server sessions must support record storage it is left to the testers to validate storage (Section 9.5 [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.)), sequencing and co-relation (Section 9.6 [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.)) of records.
TOC |
This document defines test cases and therefore tests various aspects of the Diameter base specification and various Diameter applications.
TOC |
This document does not require actions by IANA.
TOC |
[RFC2119] | Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML). |
[RFC3539] | Aboba, B. and J. Wood, “Authentication, Authorization and Accounting (AAA) Transport Profile,” RFC 3539, June 2003 (TXT). |
[RFC3588] | Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” RFC 3588, September 2003 (TXT). |
TOC |
Victor Fajardo | |
Telcordia Technologies | |
1 Telcordia Drive #1S-222 | |
Piscataway, NJ 08854 | |
USA | |
Email: | vfajardo@research.telcordia.com |
Alan McNamee | |
Openet Telecom Inc | |
6 Beckett Way, Park West Business Park | |
Clondalkin, Dublin 12 | |
Ireland | |
Phone: | +353 1 620 4600 |
Email: | alan.mcnamee@openet-telecom.com |
Hannes Tschofenig | |
Nokia Siemens Networks | |
Linnoitustie 6 | |
Espoo 02600 | |
Finland | |
Phone: | +358 (50) 4871445 |
Email: | Hannes.Tschofenig@gmx.net |
URI: | http://www.tschofenig.priv.at |
Julien Bournelle | |
France Telecom R&D | |
38-4O rue du general Leclerc | |
Issy-Les-Moulineaux 92794 | |
France | |
Email: | julien.bournelle@orange-ftgroup.com |