290 likes | 521 Views
MTS/RAN5 IMS/IPv6 Workshop October 11 th 2005 IPv6 Test Specifications Anthony Wiles, ETSI PTCC Leader of MTS STF276. MTS IPv6 Testing Activities. STF 276 MTS project – part of the MTS-IPT program Led by PTCC on behalf of TC MTS Funded by eEurope But no technical influence
E N D
MTS/RAN5 IMS/IPv6 WorkshopOctober 11th 2005IPv6 Test SpecificationsAnthony Wiles, ETSI PTCCLeader of MTS STF276
MTS IPv6 Testing Activities • STF 276 • MTS project – part of the MTS-IPT program • Led by PTCC on behalf of TC MTS • Funded by eEurope • But no technical influence • Significant voluntary expert contribution by ETSI members (at least 140 days in 2005) • Phase 1: Jan – Dec 2005 • IPv6 core RFCs • Phase 2: Jan – Dec 2006 • IP SEC • IPv6 Mobility • IPv4-IPv6 Transitioning • Aligned with the IPv6 Logo Program • For more info visit: www.ipt.etsi.org
STF 276 Outputs • IPv6 Testing Framework • Core IPv6 • IPv6 Requirements Catalogue • Conformance TSS&TP • Conformance TTCN-3 Test Suite • TTCN-3 Library • Updated Requirements Catalogue and Conformance test specs in phase 2 for • IPSEC • IPv6 Mobility • IPv4-IPv6 Transitioning • Also writing interoperability test specs • For all the above protocols
RFCs for ‘Core IPv6’ • RFC2460: IPv6 Basic Specification • RFC2461: Neighbor Discovery & Redirect • RFC2462 Stateless Address Autoconfiguration • RFC2463: ICMPv6 • RFC1981: Path MTU Discovery • RFC2675: IPv6 Jumbograms • RFC2373: IPv6 Addressing Architecture
IPv6 Testing Framework • Process similar to ISO 9646 but adapted for IPv6 • e.g., Instead of PICS we have the Requirements Catalogue • Handles IOP testing as well as conformance testing • Relationship between Requirements, TPs, TCs etc. • Defines a semi-formal language for TPs • Not mandatory to use • Naming conventions • On the Requirement, TP and TC level • On the TTCN-3 level • Requirements on the TTCN-3 libray • Structure • Adding new modules • Documentation rules
The Requirements Catalogue • Sources are mainly IETF RFCs but include Industry Practice, IPv6 Forum, 3GPP etc. • Source is clearly identified • Phase 1 has 6 RFCs, 200 pages of specification containing approximately 1,000 requirements • Requirements types: MUST, SHOULD, MAY, NOTs • Provides links between requirement source and resulting test purpose and test case/description • Group of requirements may be spread across several documents • Three requirements subjects: Node, Host, and Router
The Requirements Catalogue (cont’d) • A scalable database containing all requirement elements • HTML view of selected database elements • HTML links between RFC, requirement, test purpose, and test case/description • Mapping between RFC and IPv6 Logo requirements • Mapping between RFC and 3GPP requirement
Conformance TSS&TP • For Core IPv6 404 Test Purposes identified from the requirements catalogue • Of which 131 were shown to be not testable • Written in TPLan (defined in the Framework) • Keywords and syntax provide clear and consistent structure • Keywords chosen for communications applications (sends,receivesetc.) • Text between keywords not part of syntax so free expression possible • A TP’s basic structure (corresponding keyword): • Header (TP id) • Pre-conditions (with) • Stimulus (when) • Expected response (then)
TPLan Example for Conformance TP id: TP_COR_0047_01 Summary:‘hop limit of one' RQ Ref: RQ_COR_0047 Config: CF_02_C TC Ref: TC_COR_0047_01 ensure that { --Stimulus when { IUT receives‘Ipv6 packet'from‘HS' containing‘IPv6 Header' indicating‘Hop limit'setto‘1‘ } --Expected response then {IUTsends‘ICMPv6 Time Exceeded'to‘HS‘ containing‘ICMP code'setto‘ZERO‘ }}
Conformance Test Cases • 404 potential Test Purposes identified from the requirements catalogue • Of which 131 were shown to be not testable • 273 TTCN-3 Test Cases written • Approx. 100 have been fully validated (as of 14/10) • All 273 Test Cases expected to be validated by the end of 2005 • No test cases written for the (explicit) 3GPP requirements
Example TTCN-3 Test Case testcase TC_COR_0047_01() runs on Ipv6Node system EtherNetAdapter { f_cf02Up(); // Configure test system for HS->RT // No preamble required in this case f_TP_HopsSetToOne(); // Perform test // No postamble required in this case f_cf02Down(); // Return test system to initial state } function f_TP_HopsSetToOne() runs on Ipv6Node { var Ipv6Packet v_ipPkt; var FncRetCode v_ret := f_echoTimeExceeded( 1, v_ipPkt ); if ( v_ret == e_success and v_ipPkt.icmpCode == 0 ) { setverdict(pass);} else { setverdict(fail); } } function f_echoTimeExceeded(in UInt8 p_hops, out Ipv6Packet p_ípPkt ) runs on Ipv6Node return FncRetCode { var Ipv6Packet v_ipPacket; var FncRetCode v_ret; ipPort.send( m_echoReqWithHops(p_hops) );alt { [] ipPort.receive( mw_anyTimeExceeded ) -> value p_ipPkt { return e_success } [] ipPort.receive { return e_error } } }
ETSIHQ control network IPv4 @ only Test networks IPv6 @ only Validation Platform Internet(IPv4) SSH(secured remote control) 172.27.x.x CUxxx Oleane .17 172.27.1.1 .252 .57 UUnet .253 FW ETSI_ONLINE • Open Source Op. Syst. • FreeBSD • Fedora Core Linux • RedHat Linux • Remote controllable • Secure (Private key + Pwd) • Validation can be done locally and remotely Mask: 255.255.255.0 212.234.161.x PLUGTESTS 212.234.161.1 ETSI_PUBLIC 217.167.116.1 212.234.160.x PF1000: 2001:660:5503:1000 /64 PF6: 2001:660:5503:6 /64 FErouter1 Fedora core 3 R Ns6.etsi.org 6Wind meeting ::6 2Mb inrias ::2 renaters ::1 PF3000 IPv6 RHhost2 Linux Redhat ES4+ TTCN-3 tools RHhost3 Linux Redhat ES4+ TTCN-3 tools FBrouter5 FreeBSD 5.3 FBrouter4 FreeBSD 5.3 A PF276a: 2001:660:5503:276a /64 PF276b: 2001:660:5503:276b /64 B
Conformance Tester Architecture Lower Tester Only IPv6 SUT Test System (LT) TTCN-3 Test Case Main Test Component IPv6 IUT TRI IPv6 Transport SUT Adapter IPv6 Transport
Conformance Tester ArchitectureLower Tester and Upper Tester IPv6 SUT Test System Upper Tester Server TTCN-3 Test Case Main Test Component IPv6 Test Component Upper Tester Client IPv6 IUT TRI IPv6 Transport SCOP Transport SUT Adapter IPv6 Transport SCOP Transport
PTC_UT Example Test Configuration 1
The TTCN-3 Library(Currently Core IPv6) • Each test uses this library • Decreases test code size and improves its quality • Reduces time to develop new tests • Contains useful definitions for different purposes • Test component synchronization • Basic IPv6 packet exchanges • Preamble, test purpose, and postamble code • Test configurations • Code for driving upper IPv6 interface • for conformance testing • and automated interoperability testing • Extensively documented • Extensible • Easily add modules • Easily add tests to test suites
What is TTCN-3? • Updated version of TTCN-2 • Very different syntax to TTCN-2 retains many of the basic ‘testing concepts’ of TTCN-2 • More like a regular programming language • Has extended applicability • Especially to ‘IP-oriented’ protocols (not just OSI) • Not just conformance • Good tool support • Good book: • http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470012242.html
TTCN-3 Standards • ES 201 873-1 (Z.140) • TTCN-3 Core Language • ES 201 873-2 (Z.141) • TTCN-3 Tabular Presentation Format (TFT) • TR 101 873-3 (will eventually be ES 201 873-3) (Z.142) • TTCN-3 Graphical Presentation Format (GFT) • ES 201 873-4 (Z.143) • TTCN-3 Operational Semantics • ES 201 873-5 • TTCN-3 Runtime Interface (TRI) • ES 201 873-6 • TTCN-3 Control Interfaces (TCI) • ES 201 873-7 • Using ASN.1 with TTCN-3 • To come: XML, IDL, C/C++
Main Capabilities of TTCN-3 • Dynamic concurrent testing configurations • Various communication mechanisms (synch and asynch) • Data and signature templates with powerful matching mechanisms (including regular expressions) • Specification of encoding information • User-defined attributes (e.g., display modes) • Test suite parameterization • Control of Test Case execution and selection mechanisms • Control of complex test configurations • Assignment and handling of test verdicts • Fully harmonized with ASN.1 (XML and IDL coming) • Different presentation formats • Well-defined syntax, static - and operational semantics
Text format Tabular Format Graphical Format PresentationFormat3 PresentationFormatn The Core Languageand TTCN-3 presentation Formats • Core format is text based (most popular) • TTCN-3 can be edited or viewed in other formats • Tabular format (for TTCN-2 people) • Graphical format (good for visual overview) • Other standardized formats in the future? • Proprietary formats possible TTCN-3 Core Language
ASN.1 Types & Values IDL Types & Values XML Types & Values Other types & Valuesn The Core Language Use With Other Languages • TTCN can be integrated with other 'type and value' systems • Fully harmonized with ASN.1 (1997) • Harmonization possible with other languages • IDL, XML, C/C++ TTCN-3 Core Language
Points for Consideration by RAN5 • We think all requirements (generic and 3GPP) are in the catalogue • but are there additional RFCs? • Will need to write some additional TPs • at least for the identified 3GPP requirements • 3GPP usually write TPs and Test Descriptions then TTCN • maybe the intermediate level is not needed for IPv6 testing (test are less complex than what RAN5 are used to doing) • Basic TTCN-3 library components could be used by RAN5 • lot of TTCN-3 code which RAN5 could reuse - pick what you need • additional tests needed for 3GPP requirements • additional configurations? • New Pre- and Postambles (different bearers) • Invocation of TTCN-2 Pre- and Postambles possible on a language level (but supported by tools?) • Timely tool support • Validate over wire? • Could use ETSI IPv6 testbed