Internet DRAFT - draft-gopal-forces-femodel
draft-gopal-forces-femodel
Internet Draft Ram Gopal
Expiration: August 2002 Nokia
File: draft-gopal-forces-eemodel-00.txt February 2002
Working Group: ForCES
Forwarding Element Model
draft-gopal-forces-femodel-00.txt
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. 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.
Conventions used in this document
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 [2].
Abstract
This document describes a model for the Forwarding Element (FE)
Forces protocol endpoint. This model represents all the logical
components, which are responsible for providing per-hop behavior
inside a network element. This document also describes the MIB for
the FE model, which can be used to communicate between Forwarding
and Control Elements.
Gopal Expires August 2002 [Page 1]
Internet Draft Forwarding Element Model February 2002
Table of Content
1. Definitions.....................................................2
2. Introduction....................................................4
3. FE Model........................................................4
3.1.1. Functional aspects of Forwarding plane components...........5
3.2. Classification based on the treatment.........................5
3.3. Placement and ordering of logical components in FE............6
3.4. FE Model relationship.........................................8
3.5. Representation................................................9
3.5.1. Logical organization of Table..............................10
3.5.2. Example of Logical Component Description...................12
3.6. FE model MIB Definition (ASN.1)..............................13
4. References.....................................................13
5. Acknowledgments................................................14
6. Authors' Addresses.............................................14
1. Definitions
FE endpoint - Termination of Forces protocol at a FE
CE endpoint - Termination of Forces protocol at a CE
The following definitions are taken from [3]
Classifier - an entity which selects packets based on the content of
packet headers according to defined rules.
Dropper - a device that performs dropping.
Dropping - the process of discarding packets based on specified
rules; policing.
Marker - a device that performs marking.
Marking- the process of setting the DS codepoint in a packet based
on defined rules; pre-marking, re-marking.
Meter - a device that performs metering.
Metering - the process of measuring the temporal properties (e.g.,
rate) of a traffic stream selected by a classifier. The
instantaneous state of this process may be used to affect the
operation of a marker, shaper, or dropper, and/or may be used for
accounting and measurement purposes.
The following definitions are taken from [4]
Gopal Expires August 2002 [Page 2]
Internet Draft Forwarding Element Model February 2002
Forwarding Element (FE) - A logical entity that implements the
ForCES protocol. FEs use the underlying hardware to provide per-
packet processing and handling as directed by a CE via the ForCES
protocol. FEs may use PFE partitions, whole PFEs, or multiple PFEs.
Control Element (CE) - A logical entity that implements the ForCES
protocol and uses it to instruct one or more FEs how to process
packets. CEs handle functionality such as the execution of control
and signaling protocols. CEs may consist of PCE partitions or whole
PCEs.
Pre-association Phase - The period of time during which a FE Manager
(see below) and a CE Manager (see below) are determining which FE
and CE should be part of the same network element.
Post-association Phase - The period of time during which a FE does
know which CE is to control it and vice versa, including the time
during which the CE and FE are establishing communication with one
another.
ForCES Protocol - While there may be multiple protocols used within
the overall ForCES architecture, the term "ForCES protocol" refers
only to the ForCES post-association phase protocol (see below).
ForCES Post-Association Phase Protocol - The protocol used for post-
association phase communication between CEs and FEs. This protocol
does not apply to CE-to-CE communication, FE-to-FE communication, or
to communication between FE and CE managers. The ForCES protocol is
a master-slave protocol in which FEs are slaves and CEs are masters.
This protocol includes both the management of the communication
channel (e.g., connection establishment, heartbeats) and the control
messages themselves.
FE Model - A model that describes the logical processing functions
of a FE.
FE Manager - A logical entity that operates in the pre-association
phase and is responsible for determining to which CE(s) a FE should
communicate. This process is called CE discovery and may involve
the FE manager learning the capabilities of available CEs. A FE
manager may use anything from a static configuration to a pre-
association phase protocol (see below) to determine which CE(s) to
use. Being a logical entity, a FE manager might be physically
combined with any of the other logical entities mentioned in this
section.
CE Manager - A logical entity that operates in the pre-association
phase and is responsible for determining to which FE(s) a CE should
Gopal Expires August 2002 [Page 3]
Internet Draft Forwarding Element Model February 2002
communicate. This process is called FE discovery and may involve
the CE manager learning the capabilities of available FEs. A CE
manager may use anything from a static configuration to a pre-
association phase protocol (see below) to determine which FE to use.
Being a logical entity, a CE manager might be physically combined
with any of the other logical entities mentioned in this section.
Pre-association Phase Protocol - A protocol between FE managers and
CE managers that is used to determine which CEs or FEs to use. A
pre-association phase protocol may include a CE and/or FE capability
discovery mechanism. Note that this capability discovery process is
wholly separate from (and does not replace) that used within the
ForCES protocol (see Section 7, requirement #1). However, the two
capability discovery mechanisms may utilize the same FE model (see
Section 6). Pre-association phase protocols are not discussed
further in this document (see Section 11.3).
ForCES Network Element (NE) - An entity composed of one or more CEs
and one or more FEs. To entities outside a NE, the NE represents a
single point of management. Similarly, a NE usually hides its
internal organization from external entities.
ForCES Protocol Element - A FE or CE.
2. Introduction
Network elements such as routers play an important role in
transporting IP packets in the Internet. QoS aware router, policy
based routing and middle-box functions such as firewall, NAT,
proxies put heavy requirements on per-hop behavior treatment for IP
packets. This complicates network element.
Routers have emerged from simple monolithic software to a
distributed routing complex that interconnects different networks
and distributes the routing and forwarding logic to line cards and
control cards. A line card does basic forwarding function and a
control card runs all the control and management functions.
Forces [4] defines both architectural and protocol requirements for
the communication between CE and FE.
This document describes a FE model. The model comprises of logical
components and the components are organized in sequence in the
forwarding plane of a line card.
3. FE Model
Before describing the organization of the model, let us look at the
Gopal Expires August 2002 [Page 4]
Internet Draft Forwarding Element Model February 2002
functions and basic building blocks of the model.
Forces [4] defines that FE resides in the forwarding data path and
is responsible for communicating with CE. It represents all the
logical components residing in the forwarding plane.
The rest of this section describes how we identify the components
and build FE model.
3.1.1. Functional aspects of Forwarding plane components
When a packet is received by the forwarding blade inside ( say a
line card), it may be modified, metered or unmodified and be
directed towards its destination through the same/different line
card egress port. The components that are responsible for altering,
directing or metering IP packets may be hardware components (like
queue buffer) or software components. These components are the
essential building blocks of the FE. There may be one or more such
components and they are arranged serial or parallel from input port
to output port of the line card.
A FE model represents logical components and their relations. It is
important that each logical component is identified by its unique
behavior.
3.2. Classification based on the treatment
The classification of logical functions based on the capability is
shown in Figure 1. The Horizontal scale describes the logical
component organization based on how they treat IP packets.
Even though this classification is not reflected in the FE model, it
helps to understand the logical components in terms of what they do
on receipt of an IP packet for treatment.
The logical components are classified as follows:
1. Logical components that do not modify IP packets but perform
some parsing or decision-making. Typical function may include a
simple look-up.
2. Logical components that modify the content of the IP packet in
the header or the payload, e.g., encryption or DSCP code points
etc. These components may perform some logical operations or
operations that are based on configured algorithms.
Gopal Expires August 2002 [Page 5]
Internet Draft Forwarding Element Model February 2002
3. Logical components that do not modify but simply act as counter
to compute some statistics. This is a subset of case 1. The
only difference could be these components may generate external
events to the management plane components or to CE itself.
Treatment of IP packet
-------------------------------------------------------->
|Classification of logical components based on packet treatment
|-----------------------------------------------------------------
| IP packets | IP packets | IP not modified
| Not modified | altered | but has some side effects
|----------------+------------------------------------------------
| Classifier | Firewall |
| Filter | Half-NAT | Meter
| Shaper | Dropper | egress port
| Forwarder | Encapsulation | ingress port
| Queue | Decryption |
| Scheduler
|
Figure 1 Classification of logical functions
NOTE:
1. Meter also does not modify the IP packet. It is a special
type of logical function where it can generate external
events which can be either feedback to one of the logical
functions or to be sent to outside the FE for management.
2. Similarly, egress and ingress port status is monitored by
the FE and if a status change is detected by FE, it may
generate an event.
3.3. Placement and ordering of logical components in FE
The third aspect, which gives understanding of the FE model, is the
organization of the logical components. There may be more than one
parallel path in the forwarding plane between an egress port and an
ingress port. The logical components are laid out in sequence in
each parallel data path. When an IP packet passes through these
logical components one after another, the IP packet experiences
different treatments and these treatments are called stage
operations [5].
The following summarizes the logical layout of the FE model. The
logical layout is not contributing to the treatment of IP packet.
Gopal Expires August 2002 [Page 6]
Internet Draft Forwarding Element Model February 2002
1. One or more parallel path to process the IP packets in a
forwarding blade.
2. An IP packet passes through the series of logical components
and gets different packet treatments in each stage of
operation. This organization and placement of logical
components may be different for different path between an
ingress port and an egress port.
3. The treatments of packets in one direction may be different
from the treatments of packets in the reverse direction of the
path.
Gopal Expires August 2002 [Page 7]
Internet Draft Forwarding Element Model February 2002
3.4. FE Model relationship
After describing the concept of a logical function, its behavior and
placement inside a FE, the object model is described in the Figure
2.
+-----------------------+
| FE |
+-----------------------+
|
|1..n
+-----------------------+
| Parallel Path |
+-----------------------+
|1
|
|1 .. n
+-----------------------+
| Logical Component | (Abstract Element)
+-----------------------+
^
|
|
<------------------------------------------------>
| | | |
+-----------+ +-------+ +-------+ +-----------+
| Classifier| |Marker |. . .| Queue | . .| Forwarder |
+-----------+ +-------+ +-------+ +-----------+
^ ^
| |
<---------------------> <----------------->
| | Specific Capabilities | |
+-------------+ +------------+ +---------+ +--------+
| Multifield | | Free-Form | | RFC1812 | . . | Content|
+-------------+ +------------+ +---------+ | Based |
+--------+
Figure 2 Object model of FE
Description of the Model:
1. The FE is the base object that can have one or more parallel
paths to handle IP packets from ingress to egress ports. FE
object describes the attributes and capabilities the FE
supports. This includes whether it can participate 2 phase
command operation, high availability operation etc. [4]
Gopal Expires August 2002 [Page 8]
Internet Draft Forwarding Element Model February 2002
2. On each parallel path, there may be one or more logical
components. The logical component names are unique and can be
referenced uniquely inside a FE. Parallel path object is just
a reference object.
3. Logical component is an abstract entity. Its basic
characteristic is that it contributes to the per-hop behavior
while treating IP packets. Multiple logical components that are
derived from this abstract component. Examples are Forwarder,
Filter, Classifier, etc.
There may be further specialized logical components that are the
classified logical components.
Therefore, this model in principle has 3 levels as follows:
(1) First level is the FE object level which describes the
characteristic of FE , it contains list of CE in the CE
-Table.
(2) Second level is the Parallel path object that is used to
assist the referencing of the FE logical elements
(3) Third and final level is the Logical components
themselves.
Vendor specific logical functions can be added and their attributes
can be either defined or extended from existing logical components.
The next section describes the Table view to show how we can
reference each logical element and how it can be configured and
operated.
3.5. Representation
To represent the FE model in and to provide access to different
logical functions, CE can communicate to FE in one of the following
ways
1. XML representation
2. TLV format
3. MIB (ASN.1) format
XML takes up more bytes and requires parse functions in the CE and
FE. XML is not widely deployed and used in network elements.
ASN.1 format is human readable and most of the logical functions
attributes can be found in other protocols like Diffserv, PIB, IPSec
policy , etc. It will easier to use rather than redefining it
Gopal Expires August 2002 [Page 9]
Internet Draft Forwarding Element Model February 2002
repeatedly. This notation itself serves as some unique
identification to access all the logical components in a FE.
TLV is another alternative to communicate. But it requires some
external table structure to uniquely identifying the logical
components inside the network element.
3.5.1.Logical organization of Table
We provide the table views and describe each tables. Later part of
this section describes the actual MIB itself.
1. Each logical components needs to be accessed from the FE.
2. There may be multiple logical components of the same type in
one parallel path eg., classifier components
Parallel path Table <--------different stage ------------>
+-------------------+ +--------+ +-----------+ +-------+
|Parallel path 1 |o---->|ingress |->| IPFwd | . ->|egress |
+-------------------+ | port | +-----------+ |port |
|Parallel path 2 |o-- +--------+ +-------+
+-------------------+ |
. | +----------+ +-----------+
. +->|ingress |-> |Vendor |
. |port | |Specific |
+----------+ +-----------+
|
|
|
+-----V--+ +-------+
| Meter |. . ->|egress |
+--------+ |port |
+-------+
Figure 3 Organization of FE Table
Figure 3 describes two parallel paths. The parallel path table
contains index to the series of logical components. Logical
components are organized similar to a link list. It preserves the
order placement of logical components and is similar to [5][6]. On
parallel path 1, an IP packet reaches the ingress port. It then
moves on to the second stage and is processed by the Ipforwarder
component. This process continues till the packet reaches the egress
Gopal Expires August 2002 [Page 10]
Internet Draft Forwarding Element Model February 2002
port logical component. This linked list view of the stage reflects
the actual layout of the logical components in the forwarding path.
The following are the operations that can be performed on this
model.
(a) Flexibility
Vendor specific components can be added and be used any
where in the stage operation.
This model is extensible and the uniqueness to identify a
particular element in a FE is by an OID. For example,
FE.ParallelPathTableEntry.LogicalComponent
(b) Ordering of Logical Functions
Order of Logical functions is easily mapped to the linked
list organization of stage row entry. There may be cycles of
operations that may lead to loops etc. However, the sequence
in which a packet is treated is provided in a link list form
(C) Port Functions
As each logical component is identified by a unique number,
it is easy for FE to provide and update the status of the
ports. Either FE can automatically generate notification to
the external CE or the external entity can make a query to
get the status.
(d) Logical component functions
MIBĘs for filters, Classifiers, Queues are defined in other
protocol the configurable attributes and their access
privileges are described in detail.
Gopal Expires August 2002 [Page 11]
Internet Draft Forwarding Element Model February 2002
3.5.2. Example of Logical Component Description
Parallel path Table <--------STAGE ----------------------->
+-------------------+ +--------+ +-----------+ +-------+
|Parallel path 1 |o---->|ingress |->| IPFwd | . ->|egress |
+-------------------+ | port | +-----------+ |port |
|Parallel path 2 |o-- +--------+ +-------+
+-------------------+ |
. |
|
. |
|
+-----------------------+
|
| +----------------------------------------------------------+
| | Meter Table |
| +----------------------------------------------------------+
| |Id | SucceedNext|FailNext | MeterSpecific| Storage|Status |
| +---+------------+---------+--------------+--------+-------+
| | | | | | | |
| +---+------------+---------+--------------+--------+-------+
+->| | O | | | | |
+--------|-------------------------------------------------+
|
+-----------+
| +------------------------------------------------------+
| | Queue Table |
| +------------------------------------------------------+
| |Id | ServQNext |MinRate | MaxRate | QStorage|QStatus |
| +---+------------+---------+--------+---------+--------+
| | | | | | | |
| +---+------------+---------+--------+---------+--------+
+->| | O | | | | |
+---+----|-------+---------+--------+---------+--------+
| | | | | | | |
+---+----|-------+---------+--------+---------+--------+
|
|
+ -> Next logical component function
In this example, we show how each logical component can be accessed
using the data path pointer in the parallel path table. We have
taken the Meter Table and Queue Table attributes as defined in the
[6].
Gopal Expires August 2002 [Page 12]
Internet Draft Forwarding Element Model February 2002
First parallel path table is accessed and the index of the parallel
path table points to the first logical component function. Each
logical function is arranged in the form of a table. After indexing
the parallel path table for the second parallel path the first
logical functions is metering, the data path pointer points to the
attributes that are configured for that logical function. After the
metering process, the next pointer field points to the next logical
component that is a Queue. Hence, the next pointer points to a row
of that Queue table.
Each logical component is organized in a table form. Table lookup is
straightforward. This approach can support any number of parallel
data paths. Indexing is based on the table value.
The FE model needs to add some values like logical component ID ,
and some other additional attributes which are required for the
identification of logical components.
3.6. FE model MIB Definition (ASN.1)
TBW
4. References
1. S. Bradner, "The Internet Standards Process -Revision 3", RFC 2026,
October 1996.
2. S. Bradner, "Keywords for use in RFCs to Indicate Requirement
Levels", RFC2119 (BCP), IETF, March 1997.
3. S. Blake, et. Al., "An Architecture for Differentiated Service",
RFC2475, December 1998.
4. Anderson, et. al.,"Requirements for Separation of IP Control and
Forwarding", work in progress, February 2002,<draft-ietf-forces-
requirements-02.txt>,IETF.
5. Y. Bernet, et. al., "An Informal Management Model for DiffServ
Routers", work in progress, September 2001, <draft-ietf-diffserv-
model-06.txt>, IETF.
6. F.Baker, et. al., "Management Information Base for the
Differentiated Services Architecture", work in progress, November
2001, <draft-ietf-diffserv-mib-16.txt>, IETF.
Gopal Expires August 2002 [Page 13]
Internet Draft Forwarding Element Model February 2002
5. Acknowledgments
I would like to thank Man Li and Sanjeev verma of Nokia Research
Center for their valuable comments and suggestions.
6. Authors' Addresses
Ram Gopal
Nokia Research Center
5, Wayside Road,
Burlington, MA 01803
Phone: 1-781-993-3685
Email: ram.gopal@nokia.com
Gopal Expires August 2002 [Page 14]