Spirent TestCenter Layer 2 Testing V3a
Spirent TestCenter Layer 2 Testing V3a
Layer 2 Testing
www.spirentcampus.com
Topic Overview
Solution Definition
Definitions from 802.3, 802.1D, and 802.1Q
Combinations of Access and Trunks
Learning Phases and Modes
Using Raw Stream Blocks
Using the Traffic Wizard and Hosts
What is Performance Testing?
Using the RFC 2544 Wizard
Using the RFC 2889 Wizard
2
Spirent TestCenter Layer 2 Testing
Solution Definition
How does the traffic pick up the destination MAC and VLAN ID?
It can be very confusing since there are multiple ways to do it
There are various combinations of Access and Trunk
There are different choices for Encapsulation Filters in the
Wizards
There are combinations of Hosts with and without IP and/or
VLAN
With IP, there are combinations of with and without ARP
There are different ways of creating traffic:
Raw Stream Blocks
Traffic Wizard and Hosts
RFC 2544 and 2889 Wizards
3
Spirent TestCenter Layer 2 Testing
Summary of Choices
Access to Access to Trunk to Trunk to
Method Filter Access Trunk Access Trunk Hosts
Bound Stream Block Ethernet II Bi Uni any type on either side
Bound Stream Block VLAN Uni Bi VLAN with or without IP
Bound Stream Block IP Bi Bi Bi Bi IP with or without VLAN depends on the side
RFC 2889 Wizard Ethernet II Bi Uni any type on either side
RFC 2889 Wizard VLAN Uni Bi VLAN with or without IP
RFC 2554 Wizard IP Bi Bi Bi Bi IP with or without VLAN depends on the side
Raw Stream Block NA Uni Uni Uni Uni
NOTES:
• The blank cells imply not supported or not applicable
• Ethernet II or VLAN filters - when ever you see Uni (unidirectional), you need to use either
separate Stream Blocks or Traffic Descriptors to accomplish Bi (bidirectional)
• Raw and Bound Stream Blocks – with IP, will ARP destination and not the gateway if on
the same subnet
• Bound Stream Block - initiate ARPs from the Stream Block not the Hosts
• Bound Stream Block or RFC 2544 - you can use 1 Stream Block or 1 Traffic Descriptor to
accomplish all combinations (just use different Host endpoints)
• RFC 2544 Wizard - will ARP gateway and not the destination even if on the same subnet.
Therefore, point each Host to its pair’s IP for the gateway (not good for a mesh-based test)
• RFC 2889 Wizard - does not support ARP even when adding an IP header
4
Spirent TestCenter Layer 2 Testing
Ethernet Version 2 vs. 802.3
5
Spirent TestCenter Layer 2 Testing
Transparent Bridging (802.1D)
The basic premise is to learn based on source (SA) and
forward based on destination (DA) MAC address.
DA SA Type L3-PDU or Data FCS
Access (Non-tagged)
Trunk (Tagged)
Hybrid (Tagged plus 1 non-tagged)
7
Spirent TestCenter Layer 2 Testing
802.1Q Tag
New
Preamble Destination Source VLAN Type/ Upper Layer Protocol Data FCS
64 48 48 Tag Length IP + TCP = 40 bytes 32
8
Spirent TestCenter Layer 2 Testing
Ethernet Frame Types
SNAP (Subnetwork Access Protocol) DSAP
0xAA
SSAP
0xAA
Control
8 (0x03)
OUI
24
Type
16
ULP Data FCS
32
Preamble Destination Source Length 802.2 Upper Layer Protocol Data FCS
802.3 (MAC) 64 48 48 16 3 or 8 IPX = 30 bytes 32
New
Preamble Destination Source VLAN Type/ Upper Layer Protocol Data
802.1Q 64 48 48 Tag Length IP + TCP = 40 bytes
FCS
32
CFI - Canonical Format Indicator
FCS - Frame Check Sequence
All numbers are in bits
DSAP - Destination Service Access Point
The preamble is inserted/removed
0x8100 Priority CFI VLAN ID SSAP - Source Service Access Point
by Layer 1
16 3 1 12 MAC - Media Access Control
ULP - Upper Layer Protocol 9
Spirent TestCenter Layer 2 Testing
Layer 2 Learning
12
Spirent TestCenter Layer 2 Testing
Using Raw
Stream Blocks
Using Raw Stream Blocks
Access-Access and Trunk-Trunk
The next set of slides addresses these like-to-like conditions.
No IP, completely manual MACs
Always manual VLAN IDs (with or without IP)
With IP, source and destination IPs are set on the same subnet (they will
therefore ARP each other rather then the gateway)
14
Spirent TestCenter Layer 2 Testing
Raw Stream Blocks Default “Frame”
15
Spirent TestCenter Layer 2 Testing
Access-Access no IP
Deleted IP and just manually typed in source and destination MACs.
No IP, therefore no ARP.
You could use Copy/Paste StreamBlock to copy to destination Port. But
you would still have to swap MACs.
16
Spirent TestCenter Layer 2 Testing
Trunk-Trunk no IP
Again, deleted IP and just manually typed in source and destination
MACs.
Still no IP, therefore no ARP.
Added VLAN Header and manually entered the ID.
17
Spirent TestCenter Layer 2 Testing
Access-Access with IP
Notice that the source and destination IPs are left on the same subnet.
So when they ARP, they ARP each other instead of the Gateway.
Therefore, the destination MAC address will be filled in automatically.
18
Spirent TestCenter Layer 2 Testing
Trunk-Trunk with IP
Similar to “Layer 2 no VLAN with IP” but also with a VLAN header.
ARPs are indeed sent and replied to with the correct VLAN tags.
19
Spirent TestCenter Layer 2 Testing
Access-Access and Trunk-Trunk
summary
With no IP everything is manual
Source and destination MACs
Don’t forget to swap them on associated port’s Raw Stream Blocks
20
Spirent TestCenter Layer 2 Testing
Using Raw Stream Blocks
Access-Trunk and Trunk-Access
In actuality, just reference Access-Access and Trunk-Trunk
slide.
It is basically the same concepts for these differing
conditions.
No IP, completely manual MACs
Always manual VLAN IDs (with or without IP)
With IP, source and destination IPs are set on the same
subnet (they will therefore ARP each other rather then the
gateway)
ARPs will be sent with or without VLAN tags depending on
what side you are on.
21
Spirent TestCenter Layer 2 Testing
Using the Traffic Wizard
and Hosts
24
Spirent TestCenter Layer 2 Testing
Host Wizard – Configure VLANs
Ethernet
Ethernet 802.1Q Service Provider Tag
Frame 802.1Q Customer Tag
Frame (S-Tag) (C-Tag)
D S TPID CoS VLAN TPID CoS C VLAN Ether-
Priority
D
ID F Data FCS
A A E Priority I ID Type
25
Spirent TestCenter Layer 2 Testing
Configure VLANs continued
The example on the previous slide had 2 VLAN headers configured (i.e.,
Q-n-Q)
VLAN #1 is always the first (top) tag
It is the only tag if only 1 VLAN header is configured
If only 1 tag is configured, its TPID must be 0x8100 per IEEE 802.1Q
Spirent TestCenter only counts it as a VLAN frame when its TPID is 0x8100
The TPID identifies the frame as 802.1Q.
The S-Tag TPID is vendor proprietary.
Some vendors use a unique TPID for the S-Tag to identify the frame as
Q-in-Q.
Some common S-Tag TPID values: 0x9100, 0x9200, 0x88a8
The C-Tag TPID is always 0x8100.
For the S-Tag, the Canonical Format Identifier (CFI) has been redefined
to be used for Discard Eligible (DE), similar to Frame Relay DE.
26
Spirent TestCenter Layer 2 Testing
Hosts with Layer 2 Encapsulation only
Traffic Wizard Filter – Ethernet II
Access to Access uni or bidirectional
Access to Trunk unidirectional only
When selecting Trunk as the source, it creates non-VLAN tagged traffic
Traffic Wizard Filter – VLAN
Trunk to Trunk uni or bidirectional
Trunk to Access unidirectional only
Cannot even select Access as the source
Traffic Wizard Filter – IPv4
Not supported with Layer 2 Host Encapsulation only
27
Spirent TestCenter Layer 2 Testing
Traffic Wizard Filter – Ethernet II
Summary, only use for Access to Access (or maybe Access
to Trunk) as you will see on the next set of slides.
Only Access to Access can be bidirectional though
Sourced from Trunk, see next slide
28
Spirent TestCenter Layer 2 Testing
Ethernet II Sourced from Trunk
Only supports Unidirectional for Trunk to Trunk
Also, sourced from non-VLAN tagged traffic even though Trunk Host is selected
29
Spirent TestCenter Layer 2 Testing
Traffic Wizard Filter – VLAN
Summary, only use for Trunk to Trunk (or maybe Trunk to
Access)
Only Trunk to Trunk can be bidirectional though fro the same
reason as discussed before
30
Spirent TestCenter Layer 2 Testing
Bottom line for Layer 2 Encapsulation
and Traffic Wizard Filters
Use Single Stream Blocks for Like to Like only
Use Multiple Stream Blocks, each with different Layer 2
Encapsulation and Filters, for varying conditions
Destination MACs are picked up from the traffic “endpoints”
31
Spirent TestCenter Layer 2 Testing
Traffic Wizard Filter – IPv4 Before
Requires Hosts with IPv4 encapsulation
As you can see below, if there are none, nothing will appear
32
Spirent TestCenter Layer 2 Testing
Layer 3 Encapsulation Hosts
Select IP as the Encapsulation
You can also add one or more (i.e., a stack) of 802.1Q tags
by checking the “Number of VLAN Headers” option.
When this is selected, the Configure VLANs step will appear.
Requires separate Host Wizard sessions to configure Access or
Trunk Hosts.
33
Spirent TestCenter Layer 2 Testing
Host Wizard – Configuring Hosts
Where you configure how many Hosts and their MAC and IP
information.
Pay attention to the “Steps!” to make sure Host’s IPs are on
the same subnet.
34
Spirent TestCenter Layer 2 Testing
IP Configured Hosts
35
Spirent TestCenter Layer 2 Testing
Traffic Wizard Filter – IPv4 After
Displays Hosts with IPv4 encapsulation
Can be used for any combination of Hosts (Access and Trunk)
Uses ARP to resolve destination MAC
36
Spirent TestCenter Layer 2 Testing
Initiate ARP from the Stream Block
The ARPs went out with or with the VLAN IDs as required
too.
ARPs the destination
if on the same
subnet
37
Spirent TestCenter Layer 2 Testing
What is Performance
Testing
39
Spirent TestCenter Layer 2 Testing
Performance Testing
What is performance testing?
Setting an expectation of the device’ functionality under load
It could be said, “there are 3 levels of performance testing.”
Forwarding capabilities
Fully Loaded
Stress testing
Keep it realistic.
A broad distribution of source and destination addresses.
A mix of packet sizes and types.
The bandwidth characteristics of realistic traffic.
Different ratios of unicast and multicast traffic.
Many different streams and conditions that force prioritization (for QoS)
40
Spirent TestCenter Layer 2 Testing
Benchmarking Methodology Working
Group (BMWG)
The BMWG makes recommendations concerning the measurement of
the performance characteristics of various internetworking technologies.
Describes the class of equipment, system, or service being addressed
Discusses the performance characteristics that are pertinent
Identifies a set of metrics that aid in the description of those characteristics
Specifies the methodologies required to collect said metrics
Presents the requirements for the common, unambiguous reporting of
benchmarking results
The scope of the BMWG is limited to technology characterization using
simulated stimuli in a laboratory environment.
The benchmarks shall strive to be vendor independent or otherwise have
universal applicability to a given technology class.
http://www.ietf.org/html.charters/bmwg-charter.html
41
Spirent TestCenter Layer 2 Testing
The BMWG’s Core RFCs
Test setups and methodologies were derived from the
following RFCs:
RFC 1242 “Benchmarking Terminology for Network Interconnection Devices”
RFC 2544 “Benchmarking Methodology for Network Interconnection Devices”
RFC 2285 “Benchmarking Terminology for LAN Switching Devices”
RFC 2889 “Benchmarking Methodology for LAN Switching Devices”
Performance Tester
Traffic Traffic
Generation: Analysis:
X Frames Y Frames
Device Under Test (DUT) Received
Transmitted
42
Spirent TestCenter Layer 2 Testing
Calculating Maximum Frame Rates
for Ethernet
Speed 1,000,000,000 bps
Max Rate 1,488,095 pps
Frame + Preamble + Minimum
Size & SFD IFG
512 bits 64 bits 96 bits
672 bits
Size (Bytes) 10MB 100MB GigE 10GigE
64 14,880 (pps) 148,809 (pps) 1,488,095 (pps) 14,880,952 (pps)
128 8,445 84,459 844,594 8,445,945
256 4,528 45,289 452,898 4,528,985
512 2,349 23,496 234,962 2,349,624
1024 1,197 11,973 119,731 1,197,318
1280 961 9,615 96,153 961,538
1518 812 8,127 81,274 812,743
43
Spirent TestCenter Layer 2 Testing
RFC 2544 Wizard
44
Spirent TestCenter Layer 2 Testing
Using the RFC 2544 Wizard
Does not allow L2 Encapsulation only
Forces you to have an IP header
Using Existing endpoints (Hosts) versus Create new ones
Create new ones had an issue with “Disabled” learning where the
Trunk Hosts did not pick up the destination MAC (i.e., traffic sent to
00:00:01:00:00:01)
Although there is also an option to configure traffic (Stream Blocks)
manually.
Single versus multiple Traffic Descriptors
Use a separate Traffic Descriptor for Access and for Trunk especially
when “Creating” new endpoints
Enable or Disable Learning
Layer 2, Layer 3, and Disable Learning
45
Spirent TestCenter Layer 2 Testing
Layer 2, Layer 3, and Disable Learning
Layer 2 Learning
Access Hosts pick up destination MAC from the traffic “endpoints”
Trunk Hosts do NOT (i.e., traffic sent to 00:00:01:00:00:01)
Both do have IP headers
Layer 3 Learning
ARPs gateway even though both traffic “endpoints” are on the same subnet
Have to manually set each Host’s gateway to be the opposite “endpoint”
(therefore, works for Pairs only)
Will ARP with Stream Blocks if you select to configure traffic manually.
Disable Learning
Both Access and Trunk Hosts pick up correct destination MAC from the
Existing traffic “endpoints”
However, you risk loosing some frames the first time you run the test due to
no pre-learning
Issue with “Creating new end points” as described previously
46
Spirent TestCenter Layer 2 Testing
RFC 2544 Wizard Summary
Use Existing Hosts
Point each Host to its pair’s IP for the gateway
When using Existing Hosts, you can use a single Traffic
Descriptor
Can be used for any combination of Hosts (like-to-like and different)
Use Layer 3 Learning
48
Spirent TestCenter Layer 2 Testing
Using the RFC 2889 Wizard
Use Forwarding Test’s to mimic RFC 2544 Tests
Allows either Ethernet II or VLAN Encapsulation
per Traffic Descriptors
Allows IPv4 or IPv6 per Traffic Descriptors
If you don't “enable” IP, but you set the EtherType to IP, it will still
have an IP header
It never uses ARP or ND in either case though (i.e., still creates
Layer 2 Hosts but adds an IP header to the associated Stream
Blocks)
Using Existing endpoints (Hosts) versus Create new ones
See following slides for best tip on Existing endpoints
Single versus multiple Traffic Descriptors
Again, see the following slide for tips on that because it depends
49
Spirent TestCenter Layer 2 Testing
RFC 2889 Wizard Encapsulation
You can use Existing endpoints (Hosts) versus Create new ones
TIP: for Existing endpoints (Hosts), best to first configure all Hosts with
VLAN Encapsulation.
Use Ethernet II encapsulation when source is Access
As a result, the Wizard will drop the source’s VLAN tag
For Access to Access, can be bidirectional since no tag is required in either
direction
For Access to Trunk, DUT will add the tag back in, but this must be uni-
directional (i.e., don’t use Ethernet II for Trunk to Any)
Use VLAN encapsulation when the source is Trunk
As a result, the Wizard will keep the source’s VLAN tag
For Trunk to Trunk, can be bidirectional since the tags are required in both
directions
For Trunk to Access, DUT will drop the tag, but this must be uni-directional
(i.e., don’t use Ethernet II for Access to Any)
50
Spirent TestCenter Layer 2 Testing
RFC 2889 Wizard Summary
51
Spirent TestCenter Layer 2 Testing
End of Topic
www.spirentcampus.com
52
Spirent TestCenter Layer 2 Testing