Difference between revisions of "Overview Of The SPP Architecture"
(New page: This section gives an overview of the SPP architecture (hardware and software). It describes the key hardware and software features that make it possible to support the main abstractions p...) |
|||
Line 1: | Line 1: | ||
− | This section gives an overview of the SPP architecture | + | This section gives an overview of the SPP architecture. |
It describes the key hardware and software features that make it possible to | It describes the key hardware and software features that make it possible to | ||
support the main abstractions provided to an SPP user: | support the main abstractions provided to an SPP user: | ||
− | * Fastpath | + | * Slice |
− | * Meta-Interface | + | * Fastpath |
+ | * Meta-Interface | ||
* Packet queue and scheduling | * Packet queue and scheduling | ||
* Filter | * Filter | ||
− | + | Coupled with these abstractions are the following system features: | |
+ | |||
+ | * Resource virtualization | ||
+ | * Traffic isolation | ||
+ | * High performance | ||
+ | |||
+ | That is, an SPP node supports the concurrent operation of multiple high-speed, | ||
+ | virtual routers. | ||
+ | |||
+ | We begin with a very simple example to illustrate the SPP concepts. | ||
+ | Then, we describe the architectural features in two parts. | ||
Part I describes how packets travel through the SPP assuming that it has | Part I describes how packets travel through the SPP assuming that it has | ||
− | already been configured with a | + | already been configured with a fastpath. |
Part II describes what happens when we create and configure the SPP abstractions | Part II describes what happens when we create and configure the SPP abstractions | ||
− | (e.g., create an | + | (e.g., create a meta-interface and bind it to a queue). |
+ | |||
+ | == Example == | ||
+ | |||
+ | [[ Image:example-two-slices-one-spp.png | thumb | right | 400px | Two Slices Sharing One SPP ]] | ||
+ | |||
+ | We begin with a simple example of two users concurrently using the same SPP | ||
+ | as an IPv4, transit router between the same two routers (R1 and R2) that are attached to ports | ||
+ | 1 and 2 of the SPP (see figure to the right). | ||
+ | Furthermore, both users need 100 Mb/s bandwidth in each direction | ||
+ | (R1 to R2 and R2 to R1) and no special treatment of traffic. | ||
+ | |||
+ | <br clear=all> | ||
+ | |||
+ | [[ Image:example-two-slices-one-spp-logical.png | thumb | right | 400px | Logical Configuration of Each Slice ]] | ||
+ | |||
+ | From a logical point of view, each user needs the configuration (right) which includes | ||
+ | one fastpath consisting of three meta-interfaces (m0-m2), four queues (q0-q3), | ||
+ | and six filters (f0-f5). | ||
+ | Meta-interface m0 goes to R0 itself; m1 to R1; and m2 to R2. | ||
+ | |||
+ | The bandwidth properties and the binding of queues to meta-interfaces is shown | ||
+ | in the table (right). | ||
+ | Note the following constraints: | ||
+ | |||
+ | * The total bandwidth of the meta-interfaces can not exceed the bandwidth of the fastpath. | ||
+ | * There should be atleast one queue bound to each meta-interface. | ||
+ | * The highest numbered queues are associated with meta-interface 0 which are for local delivery and exception traffic. | ||
+ | |||
+ | {| border=1 cellspacing=0 cellpadding=3 align=right | ||
+ | ! <br> || BW <br> (Mb/s) || Queues | ||
+ | |- | ||
+ | | FP || 202 || <br> | ||
+ | |- | ||
+ | | m0 || 2 || q2, q3 | ||
+ | |- | ||
+ | | m1 || 100 || q0 | ||
+ | |- | ||
+ | | m2 || 100 || q1 | ||
+ | |} | ||
+ | |||
+ | <br clear=all> | ||
+ | |||
+ | There are six filters. | ||
+ | Each meta-interface has two filters, one for each possible meta-interface destination. | ||
+ | For example, traffic from m1 can go to m0 or m2. | ||
+ | |||
+ | <br clear=all> | ||
+ | |||
+ | {| border=1 cellspacing=0 cellpadding=3 align=right | ||
+ | ! <br> || colspan="3" | MIout | ||
+ | |- | ||
+ | ! MIin || m0 || m1 || m2 | ||
+ | |- | ||
+ | | '''m0''' || <br> || X || X | ||
+ | |- | ||
+ | | '''m1''' || X || <br> || X | ||
+ | |- | ||
+ | | '''m2''' || X || X || <br> | ||
+ | |} | ||
+ | |||
+ | xxxxx | ||
+ | |||
+ | <br clear=all> | ||
== Part I: Packet Forwarding == | == Part I: Packet Forwarding == |
Revision as of 22:57, 11 June 2009
This section gives an overview of the SPP architecture. It describes the key hardware and software features that make it possible to support the main abstractions provided to an SPP user:
- Slice
- Fastpath
- Meta-Interface
- Packet queue and scheduling
- Filter
Coupled with these abstractions are the following system features:
- Resource virtualization
- Traffic isolation
- High performance
That is, an SPP node supports the concurrent operation of multiple high-speed, virtual routers.
We begin with a very simple example to illustrate the SPP concepts. Then, we describe the architectural features in two parts. Part I describes how packets travel through the SPP assuming that it has already been configured with a fastpath. Part II describes what happens when we create and configure the SPP abstractions (e.g., create a meta-interface and bind it to a queue).
Example
We begin with a simple example of two users concurrently using the same SPP as an IPv4, transit router between the same two routers (R1 and R2) that are attached to ports 1 and 2 of the SPP (see figure to the right). Furthermore, both users need 100 Mb/s bandwidth in each direction (R1 to R2 and R2 to R1) and no special treatment of traffic.
From a logical point of view, each user needs the configuration (right) which includes one fastpath consisting of three meta-interfaces (m0-m2), four queues (q0-q3), and six filters (f0-f5). Meta-interface m0 goes to R0 itself; m1 to R1; and m2 to R2.
The bandwidth properties and the binding of queues to meta-interfaces is shown in the table (right). Note the following constraints:
- The total bandwidth of the meta-interfaces can not exceed the bandwidth of the fastpath.
- There should be atleast one queue bound to each meta-interface.
- The highest numbered queues are associated with meta-interface 0 which are for local delivery and exception traffic.
BW (Mb/s) |
Queues | |
---|---|---|
FP | 202 | |
m0 | 2 | q2, q3 |
m1 | 100 | q0 |
m2 | 100 | q1 |
There are six filters. Each meta-interface has two filters, one for each possible meta-interface destination. For example, traffic from m1 can go to m0 or m2.
MIout | |||
---|---|---|---|
MIin | m0 | m1 | m2 |
m0 | X | X | |
m1 | X | X | |
m2 | X | X |
xxxxx
Part I: Packet Forwarding
xxx
Part II: Configuring the SPP
xxx