Presentation on the IPv6 STF 276 project

advertisement
STF 276 Colloquium
June 22nd 2005
1
Structure of this Presentation




Introduction to IPv6
Benefits and Driving Forces
Overview of STF276
STF 276 IPv6 Interoperability testing
 Steve Randall
 STF 276 IPv6 Conformance testing
 Peter Schmitting
 STF 276 IPv6 testbed and validation
 Alexandre Berge
 STF 276 IPv6 test specification library and close
 Anthony Wiles
2
What Is IPv6?
 ‘New’ version of current Internet Protocol (IPv4)
 Next Generation Internet (IPng)
 First proposed in the early 1990’s
 Many candidates
 Proponents include early IP pioneers such as Vint Cerf:
“IPv6 takes the Internet where no other
network has been before”
 Why do we need it and is it better?
 Is it being adopted?
 And where is ETSI on the IPv6 Roadmap?
3
Hugely Increased Address Space

PROBLEM: IPv4 is running out of addresses

IPv4 has 32 bit addresses


IPv6 has 128 bit addresses


roughly the same as the number of a bucket full of sand grains
roughly the same as the number of sand grains in the volume of sun.
So everyone and everything could have its own unique IP address


But the allocation mechanism is wasteful so the address space is not ‘infinite’
Maybe not even enough for emerging NGN ubiquitous computing
•
e.g., even disposable items (like a can of beans in your fridge)


FE80:0000:0000:0202:B3FF:FE1E:8329
FE80::202:B3FF:FE1E:8329

OPPONENTS: Problem is solved for maybe 5-10yrs with NATs and other
tricks


OK for the US maybe
Asia and the Pacific rim need the address space!
4
More ‘Efficient’ Header
IPv6 Header
Variable length payload up to 64KB

PROBLEM: IPv4 headers not the most efficient (variable length)

IPv6 has fixed length header (40 bytes)


IPv6 Fields









Tailored for fast throughput and to run on Giga Ethernet and ATM
Version
Class
Flow Label (for QoS and efficiency)
Payload Length (max 64KB, but jumbograms allowed)
Next Header (value 59 means no next header)
Hop Limit
Source Address
Destination Address
OPPONENTS: IPv6 packets are too large! Extension headers require processing
similar to IPv4
5
Extension Headers for Options
IPv6 Header


Fragmentation of large payloads (negotiated through MTU)
Info for destination node (e.g., to carry home address in mobile IP)
Authentication header


Specifies explicit nodes (routers) that must be in the path
Destination options header


Specifies actions to be taken by each router in the path (e.g., RSVP). Without this
header routers can ignore the extension headers (efficient as some options are endto-end).
Fragment header


Ext. Header n
Routing header


Ext. Header 2
Used to specify protocol options such as:
Hop-by-hop options header


Ext. Header 1
Security
Encrypted Security Payload header

Security
6
Plug ‘n Play
 Auto configuration
 Eliminates need for manual configuration of hosts
 Especially useful for example in devices at home
 But also for large networks
 Manual configuration possible
 Stateful configuration (using DHCP)
 Use local information (e.g, MAC address) and Router
information
 Router Advertisments provide router specific prefix
 DAD (Duplicate Address Detection) algorithm ensures
uniqueness
Router provided prefix
Site Local Address (SLA)
7
Built-in Security
 Security Framework known as IPSEC
 Security elements of IPv6
 General description of security requirements an
mechanisms (security architecture)
 Payload encryption (extension header)
 Authentication (extension header)
 Algorithms for encryption and authentication
 Security policies
 Key management
8
Support for QOS
 Not just an IPv6 issue but there are some mechanisms in
IPv6 that facilitate QoS
 Several QoS paradigms
 End system based QoS e.g., extrapolation of missing data,
error recovery etc.
 Service-based QoS
 Class/priority based QoS
 Resource reservation (RSVP)
 Not defined by IPv6 but the




Flow Label (real-time flows, for example)
Class (to request differentiated services)
Routing header (to request specific route)
Hop-by-hop header (can be used to request specific handling
of each packet by each router)
9
Mobility
3
payload
3
1
payload
1
1
HA
IPv6
IPv4
payload
3
2
FA
3
1
payload
1
1
Destination Hdr 1
3
2
3
3
1
payload
2
2
Destination Hdr 1
2
payload
10
Transitioning
 Gradual transition envisaged
 No sudden emergence of IPv6
 Two main transmission mechanisms
 Dual stacks
 Tunnelling
Application
Application
IPv4
Application
IPv6
11
Other IPv6 Protocols




ICMPv6
OSPFv3
RIPng
DHCP for v6
 TCP and UDP should not be affected but ...
 Application protocols such as HTTP, FTP and Telnet
clients need to make connections with both IPv4 and
IPv6 servers
12
Summary of Benefits







Vast address space
Cheaper, faster routers
Plug ‘n Play
Better Security
Support QoS
Built-in Mobility
Phased transition mechanisms
 So, IPv6 is more efficient, more secure, more flexible, gives
true end-to-end communication etc...
 ... but is there a business case?
 There is a HUGE legacy in IPv4
13
Driving Forces
 Slow start but uptake is increasing
 IPv6 will happen
 Military
 US DoD and NATO
 EU
 IPv6 infrastructure
 eEurope, eEverything
 3GPP and NGN
 Adoption of IPv6 in IMS
 Technically developing regions
 Regions that do not have a lot of IPv4 address space allocated to them
•
E.g., Asia and the Pacific rim
 New networks and infrastructures
•
Why put in IPv4?
 Applications




Peer-2-Peer applications
Grid computing
Ubiquity (e.g., automotive)
Those that need security
14
Awareness, Promotion etc.


IPv6 Forum
IPv6 Task Forces



Regular Global IPv6 Summits
IPv6 Ready



Vendors
Operators
IMS will be important for IPv6
NGN (well, its IMS based to start ...)
Experimental networks




Certification Scheme
PlugtestsTM very active
Many large ETSI members





North America, Europe, Asia etc.
6 Bone, Moonv6, Euro6IX, various operators
Core network ...
... and applications (e.g., VoIP)
... and STF276
15
STF276@Work
16
STF 276

TC MTS project to produce test specifications for interoperability of IPv6
products




Two phases







Interoperability test specifications
Conformance test specifications
Library of TTCN-3 test code freely available
All tests are validated



IPv6 core RFCs (Ongoing)
IP SEC (estimated start October 2005)
Mobile IP (estimated start October 2005)
Ipv4 – IPv6 Transitioning (estimated start Jan 2006)
IPv6 Test Framework
Requirements Catalogue
Test specifications




Led by PTCC
eEurope funding
Significant voluntary expert contribution by ETSI members (at least 134 days in 2005)
On STF276 Testbed
By member companies
For more info visit: www.ipt.etsi.org
17
Major Players
 ETSI members:
 Mainly vendors
 Require IPv6 test specifications using ETSI
methods and test languages
 A component designed to be part of 3GPP’s
IPv6 testing strategy (when it starts)
 European Commission:
 Mandate for IPv6 device interoperability
 Amplify Europe’s voice in IPv6 testing
 Aligned with the IPv6 Logo Program
18
STF 276 Members
STF 276 Participants
1
AW
Anthony Wiles (STF leader)
ETSI PTCC Manager
2
AF
Annie Floch
IRISA
3
BG
Basavanna Gowda
Motorola
4
CO
César Olvera
Consulintel SL / IPV6 Forum
5
ECT
Emmanuelle Chaulot-Talmon
ETSI PTCC Assistant
6
DT
Dirck Tepelmann
Testing Technologies
7
LV
Laurent Vreck
ETSI Technical Officer
8
PK
Péter Krémer
Ericsson
9
PS
Peter Schmitting
FSCOM
10
RC
Ranganai Chaparadza
FOKUS
11
SAM
Scott Moseley
Farbum Scotus
12
SM
Sebastian Mueller
FSCOM
13
SR
Steve Randall
PQM Consultants
14
SS
Stephan Schulz
NOKIA
15
XF
Xiaoming Fu
IITB
19
Task Leaders
 STF task leaders
 IPv6 Testing Framework
• Steve Randall
 Requirements Catalogue
• Scott Moseley
 Conformance Test Specs
• Peter Schmitting
 Interop Test Specs
• Steve Randall
 Validation testbed
• Sebastian Mueller
 For more info visit: www.ipt.etsi.org
20
Requirements Process
3G Mobile
Specifications
Industry
Practice
IPv6 Forum &
other sources
RFC
RFC
RFC
Requirements
Catalogue
21
The Requirements Catalogue
 Our approach to Requirements Engineering
 Phase 1 has 6 RFCs, 200 pages of specification
containing approximately 1,000 requirements
 Requirements types: MUST, SHOULD, MAY, NOTs
 Group of requirements may be spread across several
documents
 Three requirements subjects: Node, Host, and Router
 Need a link between requirement source and resulting
test purpose and test case/description
 Multiple user needs for requirements
22
The Requirements Catalogue (cont’d)
 Basic Concepts
 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 requirements
 A user-extendable tool to identify requirements for
procurement or implementation
23
Example Requirement
24
Interoperability Process
3G Mobile
Industry
IPv6 Forum &
Specifications
Practice
others
RFC
RFC
RFC
Requirements
Catalogue
Interoperability
Test
Purposes
(TPLan)
Test
Descriptions
(Natural
Language)
25
Interoperability Test Purposes






Defines the function being tested—the WHAT
Does not define HOW to test the function
Grouped to form a logical structure
One Requirement may derive several TPs
An interoperability TP is on the functional level
Specified in ETSI’s Test Purpose Language (TPLan)
26
Test Purpose Language (TPLan)
 Keywords and syntax provide clear and consistent
structure
 Keywords chosen for communications applications
(sends, receives etc.)
 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)
27
TPLan Example for Interoperability
TP id
Summary
RQ ref
Config
TD ref
:
:
:
:
:
TP_COR_1719_02
'EUT sends packet to All-RT LL M/cast address'
RQ_COR_1719
CF_021_I
TD_COR_1719_02
with { QE1 'configured as a router'
and QE2 'configured as a router'}
ensure that {
when { EUT is requested to
'send packet to All-Routers Link-Local M/cast addr' }
then { QE1 indicates 'receipt of the packet'
and QE2 indicates 'receipt of the packet' }
}
28
Interoperability Test Descriptions
 Specify detailed steps to be followed to achieve
stated test purpose
 Steps are specified clearly and unambiguously
without unreasonable restrictions on actual method:
 Example:
• Answer incoming call
NOT
• Pick up telephone handset
 Written in a structured and tabulated natural
language so tests can be performed manually
 Can be automated using TTCN-3 when EUT has
software interfaces
29
Example Test Description
Test:
COR_001_02
Selection Criteria:
Mandatory
Title:
Auto configure QE using a unique address in a simple network
Test Purpose:
ensure that {
when { etc……….
Pre-test conditions:



Step
Selected:
Yes
Configure the equipment to ensure that QE1 will not intend to use the same link-local address
than the one used by EUT (EUT and QE1 interfaces carry different Interface identifiers and
both run stateless autoconfig, or EUT Link-Local address configured manually).
EUT interface is up and carries a link-local address
QE1 interface is down
Verdict
Test description
1
Turn on QE1 interface and wait a few seconds
2
EUT sends an echo request to the Link-Local address of QE1
3
Check:
4
QE1 sends an echo request to the Link-Local address of EUT
5
Check:
does EUT receive an echo reply from QE1?
does QE1 receive an echo reply from EUT?
Pass
Fail
Yes
No
Yes
No
Observations:
30
Conformance Process
3G Mobile
Specifications
Industry
Practice
IPv6 Forum &
others
RFC
RFC
RFC
Requirements
Catalogue
Interoperability
Conformance
Test Specific
Definitions
(TTCN-3)
Test
Purposes
(TPLan)
Test
Purposes
IPv6 Specific
Definitions
(TTCN-3)
Common
Definitions
(TTCN-3)
Test
Cases
(TTCN-3)
Test
Descriptions
31
Conformance Test Purposes






Defines WHAT is tested
Does not define HOW to accomplish the test
Grouped to form a logical structure
One Requirement may require many TPs
A conformance TP is on the protocol level
Specified in ETSI’s Test Purpose Language (TPLan)
32
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' set to ‘1‘ }
--Expected response
then { IUT sends ‘ICMPv6 Time Exceeded' to ‘HS‘
containing ‘ICMP code' set to ‘ZERO‘ }
}
33
Conformance Test Cases
 Detailed TTCN-3 test script that implements test purpose
 can be compiled and executed
 Composition
 a preamble
 test body (i.e., implementation of the Test Purpose)
 A postamble
 Assigns test verdicts
 Handles unexpected behaviour as well as the behaviour in
the test purpose
 Can be distributed over parallel test components
 Can be entirely automated
 Configurable at run-time, e.g., SUT address
34
What is TTCN-3?




Internationally standardized testing language
Look and feel of a regular programming language
Allows unambiguous implementation of tests
Independent of execution environment due to
separate test system interface standards
 Wide range of applications from mobile (radio)
communications to Internet to software
 Good tool support
 Good book:
 http://eu.wiley.com/WileyCDA/WileyTitle/productCd0470012242.html
35
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 } }
36
}
Validation Platform
Open Source Op. Syst.
•FreeBSD
•Fedora Core Linux
•RedHat Linux
Internet
 Remote controllable
 Secured (Private key + Pwd)
 Validate our own test suites locally
SSH
(secured remote control)
R
IPv4 control network
H
H
R
IPv6 testbed
R
37
Validation Platform
Open Source Op. Syst.
•FreeBSD
•Fedora Core Linux
•RedHat Linux
Internet
 Remote controllable
 Secured (Private key + Pwd)
 Validate our own test suites locally
SSH
(secured remote control)
& remotely
R
H
H
IPv6 testbed
R
R
38
STF276 IPv6 test bed
 IPv4 @ only
Internet
(IPv4)
Test networks
 IPv6 @ only
SSH
ETSIHQ
(secured remote control)
Oleane
control network
172.27.x.x
CUxxx
.17
172.27.1.1
UUnet
.253
.57
ETSI_ONLINE
212.234.161.x Mask: 255.255.255.0
PLUGTESTS
212.234.160.x
212.234.161.1
.252
FW
ETSI_PUBLIC
217.167.116.1
PF1000: 2001:660:5503:1000 /64
PF6: 2001:660:5503:6 /64
Ns6.etsi.org
renaters ::1
R
6Wind
2Mb
FErouter1
Fedora core 3
meeting ::6
inrias ::2
PF3000
IPv6
RHhost2
Linux Redhat ES4
+
TTCN-3 tools
FBrouter5
FreeBSD 5.3
RHhost3
Linux Redhat ES4
+
TTCN-3 tools
FBrouter4
FreeBSD 5.3
A
B
PF276a: 2001:660:5503:276a /64
PF276b: 2001:660:5503:276b /64
39
Library Process
3G Mobile
Specifications
Industry
Practice
IPv6 Forum &
others
RFC
RFC
RFC
Requirements
Catalogue
Conformance
Test Specific
Definitions
Interoperability
Test
Purposes
Test
Purposes
IPv6
Library
IPv6 Specific
Definitions
Common
Definitions
Requirements
Test
Cases
Test
Descriptions
40
The TTCN-3 Library
 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
 Easily add tests to test suites
41
IPv6 Test Library
3G Mobile
Specifications
Industry
Practice
IPv6 Forum &
other sources
RFC
RFC
RFC
Requirements
Catalogue
Conformance
Test Specific
Functions
Interoperability
Test
Purposes
Data
Specifications
Generic
Functions
Requirements
Test
Purposes
IPv6 Library
Test
Descriptions
Test
Cases
Test Suite
Test Suite
Test Suite
42
Thank You!
43
Download