TOC 
DIMEV. Fajardo
Internet-DraftTelcordia Technologies
Expires: January 14, 2010A. McNamee
 Openet-Telecom
 H. Tschofenig
 Nokia Siemens Networks
 J. Bournelle
 France Telecom R&D
 July 13, 2009


Diameter Base Protocol Interoperability Test Suite
draft-fajardo-dime-base-test-suite-02.txt

Status of this Memo

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 Notice

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.

Abstract

This document describes a collection of test cases to be used for Diameter base protocol interoperability testing.



Table of Contents

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 

1.  Introduction

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 

2.  Terminology

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 

3.  Diameter Base Protocol Test Suite

All implementation must conform to [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.).



 TOC 

3.1.  Required



 TOC 

3.1.1.  Connectivity and Peering

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 

3.1.1.1.  Capabilities Negotiation

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 

3.1.1.2.  Election

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 

3.1.1.3.  Disconnection

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 

3.1.1.4.  Re-Connection Algorithms

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 

3.1.1.5.  Failover and Failback

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 

The enumerated test cases refers only to vendor A but can be applied to any of the vendor implementations in Figure 2 (Failover Test Topology). Conditions for a positive test requires that realm routes to C is present in A and host routing is not used. Initial traffic should flow from A to C via B (as the primary peer of A).



 TOC 

3.1.2.  Routing

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 

3.1.2.1.  Peer Based Request Routing

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 

3.1.2.2.  Realm Based Routing

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 

3.1.2.3.  Answer Message Routing

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 

3.1.2.4.  Loop Detection

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 

3.1.3.  Relay Agent

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 

3.1.4.  Redirection Agent

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 

3.2.  Optional

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 

3.2.1.  General Statemachine

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 

3.2.2.  Dynamic Peer Discovery

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 

4.  Diameter Base Protocol Application Support



 TOC 

4.1.  Authentication and/or Authorization

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 

4.1.1.  Stateful Session

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 

4.1.2.  Stateless Session

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 

4.2.  Accounting

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 

4.2.1.  Client Session

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 

4.2.2.  Server Session

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 

5.  Security Considerations

This document defines test cases and therefore tests various aspects of the Diameter base specification and various Diameter applications.



 TOC 

6.  IANA Considerations

This document does not require actions by IANA.



 TOC 

7. Normative References

[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 

Authors' Addresses

  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