draft-ietf-forces-requirements-00.txt   draft-ietf-forces-requirements-01.txt 
Internet Draft T. Anderson Internet Draft T. Anderson
Expiration: April 2002 Intel Expiration: May 2002 Intel Labs
File: draft-ietf-forces-requirements-00.txt E. Bowen File: draft-ietf-forces-requirements-01.txt E. Bowen
Working Group: ForCES IBM Working Group: ForCES IBM
R. Dantu R. Dantu
Netrake Inc. Netrake Inc.
A. Doria A. Doria
Nortel Networks N/A
J. Hadi Salim J. Hadi Salim
Znyx Networks Znyx Networks
H. Khosravi H. Khosravi
Intel Intel Labs
M. Minhazuddin M. Minhazuddin
Avaya Inc. Avaya Inc.
M. Wasserman M. Wasserman
Wind River Wind River
October 2001 November 2001
Requirements for Separation of IP Control and Forwarding Requirements for Separation of IP Control and Forwarding
draft-ietf-forces-requirements-00.txt draft-ietf-forces-requirements-01.txt
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. Internet-Drafts are all provisions of Section 10 of RFC2026. Internet-Drafts are
working documents of the Internet Engineering Task Force (IETF), working documents of the Internet Engineering Task Force (IETF),
its areas, and its working groups. Note that other groups may its areas, and its working groups. Note that other groups may
also distribute working documents as Internet-Drafts. also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six Internet-Drafts are draft documents valid for a maximum of six
skipping to change at page 2, line 9 skipping to change at page 2, line 9
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Conventions used in this document Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
this document are to be interpreted as described in [RFC-2119]. this document are to be interpreted as described in [RFC-2119].
1. Abstract 1. Abstract
This document defines a set of requirements for mechanisms to This document presents an introduction to issues surrounding a
logically separate the control and data forwarding planes of an IP ForCES architecture and defines a set of associated terminology.
network device. Subsequently, this document defines a set of architectural,
modeling, and protocol requirements for mechanisms to logically
separate the control and data forwarding planes of an IP network
device.
2. Definitions 2. Definitions
Addressable Entity (AE) - A physical device that is directly Addressable Entity (AE) - A physical device that is directly
addressable given some interconnect technology. For example, on addressable given some interconnect technology. For example, on
Ethernet, an AE is a device to which we can communicate using an Ethernet, an AE is a device to which we can communicate using an
Ethernet MAC address; on IP networks, it is a device to which we can Ethernet MAC address; on IP networks, it is a device to which we can
communicate using an IP address; and on a switch fabric, it is a communicate using an IP address; and on a switch fabric, it is a
device to which we can communicate using a switch fabric port device to which we can communicate using a switch fabric port
number. number.
skipping to change at page 3, line 9 skipping to change at page 3, line 11
underlying hardware but instead manipulates that hardware using some underlying hardware but instead manipulates that hardware using some
intermediate form of communication (e.g., a non-ForCES protocol or intermediate form of communication (e.g., a non-ForCES protocol or
DMA). A proxy FE will typically be used in the case where a PFE DMA). A proxy FE will typically be used in the case where a PFE
cannot implement (e.g., due to the lack of a general purpose CPU) cannot implement (e.g., due to the lack of a general purpose CPU)
the ForCES protocol directly. the ForCES protocol directly.
Control Element (CE) - A logical entity that implements the ForCES Control Element (CE) - A logical entity that implements the ForCES
protocol and uses it to instruct one or more FEs as to how they protocol and uses it to instruct one or more FEs as to how they
should process packets. CEs handle functionality such as the should process packets. CEs handle functionality such as the
execution of control and signaling protocols. CEs may encompass PCE execution of control and signaling protocols. CEs may encompass PCE
partitions or whole PCEs. (Whether CEs may encompass multiple PCEs partitions or whole PCEs.
or not is an open issue discussed further in Section A.4.)
Pre-association Phase - The period of time during which a FE does Pre-association Phase - The period of time during which a FE Manager
not know which CE is to control it and vice versa. (see definition below) and a CE Manager (see definition below) are
deciding which FE and CE should be part of the same network element.
Post-association Phase - The period of time during which a FE does Post-association Phase - The period of time during which a FE does
know which CE is to control it and vice versa. 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 (after they have been associated to the same NE).
ForCES Protocol - While there may be multiple protocols used within ForCES Protocol - While there may be multiple protocols used within
the overall ForCES architecture, the term "ForCES protocol" refers the overall ForCES architecture, the term "ForCES protocol" refers
only to the ForCES post-association phase protocol (see below). only to the ForCES post-association phase protocol (see below).
ForCES Post-Association Phase Protocol - The protocol used for post- ForCES Post-Association Phase Protocol - The protocol used for post-
association phase communication between CEs and FEs. This protocol association phase communication between CEs and FEs. This protocol
does not apply to CE-to-CE communication, FE-to-FE communication, or does not apply to CE-to-CE communication, FE-to-FE communication, or
to communication between FE and CE managers. The ForCES protocol is to communication between FE and CE managers. The ForCES protocol is
a master-slave protocol in which FEs are slaves and CEs are masters. 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 FE Model - A model that describes the logical processing functions
of a FE. of a FE.
FE Manager - A logical entity that operates in the pre-association FE Manager - A logical entity that operates in the pre-association
phase and is responsible for determining to which CE(s) a FE should phase and is responsible for determining to which CE(s) a FE should
communicate. This determination process is called CE discovery and communicate. This determination process is called CE discovery and
may involve the FE manager learning the capabilities of available may involve the FE manager learning the capabilities of available
CEs. A FE manager may use anything from a static configuration to a CEs. A FE manager may use anything from a static configuration to a
pre-association phase protocol (see below) to determine which CE to pre-association phase protocol (see below) to determine which CE(s)
use. Being a logical entity, a FE manager might be physically to use. Being a logical entity, a FE manager might be physically
combined with any of the other logical entities mentioned in this combined with any of the other logical entities mentioned in this
section. section.
CE Manager - A logical entity that operates in the pre-association CE Manager - A logical entity that operates in the pre-association
phase and is responsible for determining to which FE(s) a CE should phase and is responsible for determining to which FE(s) a CE should
communicate. This determination process is called FE discovery and communicate. This determination process is called FE discovery and
may involve the CE manager learning the capabilities of available may involve the CE manager learning the capabilities of available
FEs. A CE manager may use anything from a static configuration to a FEs. A CE manager may use anything from a static configuration to a
pre-association phase protocol (see below) to determine which FE to pre-association phase protocol (see below) to determine which FE to
use. Being a logical entity, a CE manager might be physically use. Being a logical entity, a CE manager might be physically
combined with any of the other logical entities mentioned in this combined with any of the other logical entities mentioned in this
section. section.
Pre-association Phase Protocol - A protocol between FE managers and Pre-association Phase Protocol - A protocol between FE managers and
CE managers that helps them determine which CEs or FEs to use. A CE managers that helps them determine which CEs or FEs are to be
pre-association phase protocol may include a CE and/or FE capability associated to a NE. A pre-association phase protocol may include a
discovery mechanism. It is important to note that this capability CE and/or FE capability discovery mechanism. It is important to
discovery process is wholly separate from (and does not replace) note that this capability discovery process is wholly separate from
that used within the ForCES protocol (see Section 7, requirement (and does not replace) that used within the ForCES protocol (see
#1). However, the two capability discovery mechanisms may utilize Section 7, requirement #1). However, the two capability discovery
the same FE model (see Section 6). Pre-association phase protocols mechanisms may utilize the same FE model (see Section 6). Pre-
are not discussed further in this document (see Section 11.3). association phase protocols are not discussed further in this
document.
ForCES Network Element (NE) - An entity composed of one or more CEs 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 and one or more FEs. To entities outside a NE, the NE represents a
single point of management. Similarly, a NE usually hides its single point of management. Similarly, a NE usually hides its
internal organization from external entities. However, one internal organization from external entities.
exception to this rule is that CEs and FEs may be directly managed
to transition them from the pre-association phase to the post-
association phase.
ForCES Protocol Element - A FE or CE. ForCES Protocol Element - A FE or CE.
High Touch Capability - This term will be used to apply to the High Touch Capability - This term will be used to apply to the
capabilities found in some forwarders to take action on the contents capabilities found in some forwarders to take action on the contents
or headers of a packet based on content other than what is found in or headers of a packet based on content other than what is found in
the IP header. Examples of these capabilities include NAT-PT, the IP header. Examples of these capabilities include NAT-PT,
firewall, and L7 content recognition. firewall, and L7 content recognition.
3. Introduction 3. Introduction
skipping to change at page 5, line 17 skipping to change at page 5, line 23
per-flow QoS tables and access control lists. Typically, the per-flow QoS tables and access control lists. Typically, the
architecture of these devices combines all of this functionality architecture of these devices combines all of this functionality
into a single functional whole with respect to external entities. into a single functional whole with respect to external entities.
4. Architecture 4. Architecture
The chief components of a NE architecture are the CE, the FE, and The chief components of a NE architecture are the CE, the FE, and
the interconnect protocol. The CE is mainly responsible for the interconnect protocol. The CE is mainly responsible for
operations such as signaling and control protocol processing and the operations such as signaling and control protocol processing and the
implementation of management protocols. Based on the information implementation of management protocols. Based on the information
acquired through control processing, the CE dictates the packet- acquired through control processing, the CE(s) dictates the packet-
forwarding behavior of its FE(s) via the interconnect protocol. For forwarding behavior of its FE(s) via the interconnect protocol. For
example, the CE might control a FE by manipulating its forwarding example, the CE might control a FE by manipulating its forwarding
tables, the state of its interfaces, or by adding or removing a NAT tables, the state of its interfaces, or by adding or removing a NAT
binding. binding.
The FE operates in the forwarding plane and is responsible chiefly The FE operates in the forwarding plane and is responsible chiefly
for per-packet processing and handling. By allowing the control and for per-packet processing and handling. By allowing the control and
forwarding planes to evolve independently, we expect different types forwarding planes to evolve independently, we expect different types
of FEs to be developed - some general purpose and others more of FEs to be developed - some general purpose and others more
specialized. Some functions that FEs could perform include layer 3 specialized. Some functions that FEs could perform include layer 3
skipping to change at page 6, line 30 skipping to change at page 6, line 30
| | | | | | | | | | | | | | | | | | | |
-------------------------------- --------------------------------
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
5. Architectural Requirements 5. Architectural Requirements
The following are the architectural requirements: The following are the architectural requirements:
1)CEs and FEs MUST be able to connect by a variety of interconnect 1)CEs and FEs MUST be able to connect by a variety of interconnect
technologies. Examples of interconnect technologies used in technologies. Examples of interconnect technologies used in current
current architectures include Ethernet connections, backplanes, architectures include Ethernet connections, backplanes, and ATM
and ATM (cell) fabrics. FEs MAY be connected to each other via (cell) fabrics. FEs MAY be connected to each other via a different
a different technology than that used for CE/FE communication. technology than that used for CE/FE communication.
2)FEs MUST support a minimal set of capabilities necessary for 2)FEs MUST support a minimal set of capabilities necessary for
establishing network connectivity (e.g., interface discovery, establishing network connectivity (e.g., interface discovery, port
port up/down functions). Beyond this minimal set, the ForCES up/down functions). Beyond this minimal set, the ForCES
architecture MUST NOT restrict the types or numbers of architecture MUST NOT restrict the types or numbers of capabilities
capabilities that FEs may contain. that FEs may contain.
3)Packets MUST be able to arrive at the NE by one FE and leave the 3)Packets MUST be able to arrive at the NE by one FE and leave the
NE via a different FE. NE via a different FE.
4)A NE MUST support the appearance of a single functional device. 4)A NE MUST support the appearance of a single functional device.
For example, in a router, the TTL of the packet should be For example, in a router, the TTL of the packet should be
decremented only once as it traverses the NE regardless of how decremented only once as it traverses the NE regardless of how many
many FEs through which it passes. However, external entities FEs through which it passes. However, external entities (e.g., FE
(e.g., FE managers and CE managers) MAY have direct access to managers and CE managers) MAY have direct access to individual
individual ForCES protocol elements for providing information to ForCES protocol elements for providing information to transition
transition them from the pre-association to post-association them from the pre-association to post-association phase.
phase.
5)The architecture MUST provide a way to prevent unauthorized 5)The architecture MUST provide a way to prevent unauthorized
ForCES protocol elements from joining a NE. ForCES protocol elements from joining a NE.
6)A FE MUST be able to asynchronously inform the CE of an 6)A FE MUST be able to asynchronously inform the CE of an
increase/decrease in available resources or capabilities on the increase/decrease in available resources or capabilities on the FE.
FE. (Since there is not a strict 1-to-1 mapping between FEs and (Since there is not a strict 1-to-1 mapping between FEs and PFEs, it
PFEs, it is possible for the relationship between a FE and its is possible for the relationship between a FE and its physical
physical resources to change over time. For example, the number resources to change over time. For example, the number of physical
of physical ports or the amount of memory allocated to a FE may ports or the amount of memory allocated to a FE may vary over time.
vary over time. The CE needs to be informed of such changes so The CE needs to be informed of such changes so that it can control
that it can control the FE in an accurate way.) the FE in an accurate way.)
7)CEs and FEs MUST determine when a loss of connectivity between 7)CEs and FEs MUST determine when a loss of connectivity between
them has occurred. them has occurred.
8)FEs MUST redirect packets addressed to their interfaces to their 8)FEs MUST redirect packets addressed to their interfaces to their
CE for further processing. Furthermore, FEs MUST redirect other CE for further processing. Furthermore, FEs MUST redirect other
required packets (e.g., such as those with the router alert required packets (e.g., such as those with the router alert option
option set) to their CE as well. (FEs MAY provide any other set) to their CE as well. (FEs MAY provide any other
classification/redirection capabilities that they desire as classification/redirection capabilities that they desire as
described in Section 6.4 requirement #4.) Similarly, CEs MUST described in Section 6.4 requirement #4.) Similarly, CEs MUST be
be able to create packets and have its FEs deliver them. able to create packets and have its FEs deliver them.
9)All proposed ForCES architectures MUST explain how that 9)All proposed ForCES architectures MUST explain how that
architecture may be applied to support all of a router's architecture may be applied to support all of a router's functions
functions as defined in [RFC1812]. as defined in [RFC1812].
10)In a ForCES NE, the CE(s) MUST be able to learn the topology by 10)In a ForCES NE, the CE(s) MUST be able to learn the topology by
which the FEs in the NE are connected. which the FEs in the NE are connected.
11)The ForCES NE architecture and protocols MUST be capable of 11) The ForCES NE architecture MUST be capable of supporting (i.e.,
supporting at least hundreds of FEs and tens of thousands of must scale to) at least hundreds of FEs and tens of thousands of
ports. ports.
12) FEs MUST be able to join and leave NEs dynamically.
13) CEs MUST be able to join and leave NEs dynamically.
14) The NE architecture MUST support multiple CEs and FEs.
6. FE Model Requirements 6. FE Model Requirements
The variety of FE functionality that the ForCES architecture allows The variety of FE functionality that the ForCES architecture allows
poses a potential problem for CEs. In order for a CE to effectively poses a potential problem for CEs. In order for a CE to effectively
control a FE, the CE must understand at a logical level how the FE control a FE, the CE must understand at a logical level how the FE
processes packets. We therefore REQUIRE that a FE model be created processes packets. We therefore REQUIRE that a FE model be created
that can express the logical packet processing capabilities of a FE. that can express the logical packet processing capabilities of a FE.
This model will be used in the ForCES protocol to describe FE This model will be used in the ForCES protocol to describe FE
capabilities (see Section 7, requirement #1). capabilities (see Section 7, requirement #1).
6.1. Higher-Level FE Model 6.1. Higher-Level FE Model
At its higher level, the FE model MUST express what logical At its higher level, the FE model MUST express what logical
functions can be applied to packets as they pass through a FE. functions can be applied to packets as they pass through a FE.
Furthermore, the model MUST be capable of describing the order in
Furthermore, the model MUST describe in which order these logical which these logical functions are applied in a FE. This ordering is
functions may be applied. This ordering is important in many cases. important in many cases. For example, a NAT function may change a
For example, a NAT function may change a packet's source or packet's source or destination IP address. Any number of other
destination IP address. Any number of other logical functions logical functions (e.g., layer 3 forwarding, ingress/egress
(e.g., layer 3 forwarding, ingress/egress firewall, shaping, firewall, shaping, accounting) may make use of the source or
accounting) may make use of the source or destination IP address destination IP address when making decisions. The CE needs to know
when making decisions. The CE needs to know whether to configure whether to configure these logical functions with the pre-NAT or
these logical functions with the pre-NAT or post-NAT IP address. post-NAT IP address. Furthermore, the model MUST be capable of
expressing multiple instances of the same logical function in a FE's
processing path. Using NAT again as an example, one NAT function is
typically performed before the forwarding decision (packets arriving
externally have their public addresses replaced with private
addresses) and one NAT function is performed after the forwarding
decision (for packets exiting the domain, their private addresses
are replaced by public ones).
6.2. Lower-Level FE Model 6.2. Lower-Level FE Model
At its lower level, the FE model MUST be capable of expressing the At its lower level, the FE model MUST be able to express the
data required by each logical function. As the following examples capabilities of each logical function. As the following examples
will illustrate, this lower-level data comes in three varieties: will illustrate, these lower-level capabilities come in five
classification, action, and parameterization. varieties: classification, action, parameterization, statistic, and
events.
6.2.1. Classification Data 6.2.1. Classification
Classification data is the data used by a logical function to Classification data is used by a logical function to perform pattern
perform pattern matching. For example, there may be two FEs, both matching. For example, there may be two FEs, both of which provide
of which provide an ingress firewall function. However, the first an ingress firewall function. However, the first FE may filter on
FE may filter on any subset of a (source IP, destination IP, IP any subset of a (source IP, destination IP, IP protocol, source
protocol, source port, destination port)-tuple whereas the second FE port, destination port)-tuple whereas the second FE may perform only
may perform only a (destination IP, IP protocol)-tuple a (destination IP, IP protocol)-tuple classification. In either
classification. In either case, the action applied to matching case, the action applied to matching packets may be the same, e.g.
packets may be the same, e.g. drop. drop.
6.2.2. Action Data 6.2.2. Action
Action data is the data needed by a logical function to manipulate Action data is used by a logical function to manipulate the packet
the packet as a result of a classification. For example, there may because of a classification. For example, there may be two traffic-
be two traffic-shaping functions, both of which classify only on shaping functions, both of which classify only on destination IP
destination IP address. However, one of the shaping functions may address. However, one of the shaping functions may implement a
implement a leaky bucket that requires two parameters whereas the leaky bucket that requires two parameters whereas the other function
other function may implement a token bucket that requires three may implement a token bucket that requires three parameters.
parameters.
6.2.3. Parameterization Data 6.2.3. Parameterization
Parameterization data can be viewed as parameters to the logical Parameterization data can be viewed as parameters to the logical
function itself. This data does not affect individual packets but function itself. This data does not affect individual packets but
affects how the function as a whole behaves. For example, there may affects how the function as a whole behaves. For example, there may
be a congestion function that implements two varieties of RED that be a congestion function that implements two varieties of RED that
require different parameter sets. Parameterization data would be require different parameter sets. Parameterization data would be
used to select between the two varieties of RED and to provide the used to select between the two varieties of RED and to provide the
necessary configuration to each variety. necessary configuration to each variety.
6.2.4.Statistics
Some logical functions may maintain certain statistics (e.g., number
of packets processed) about their own operation. The FE model needs
to express which statistics a FEs logical functions maintain so
that CEs can later query those statistics to answer queries made by
higher level entities.
6.2.5.Event
Some logical functions may be able to generate asynchronous events
that can be sent to the control plane. Two examples of these events
include packet redirection events and port state change events
(e.g., up/down). The FE model must be able to express the events
that a FEs logical functions may generate so that CEs can register
to receive those events when they happen to occur.
6.3. Flexibility 6.3. Flexibility
Finally, the FE model SHOULD provide a flexible infrastructure in Finally, the FE model SHOULD provide a flexible infrastructure in
which new logical functions and new classification, action, and which new logical functions and new classification, action, and
parameterization data can be easily added. Also, the FE model MUST parameterization data can be easily added. Also, the FE model MUST
be capable of describing the types of statistics gathered by each be capable of describing the types of statistics gathered by each
logical function. logical function.
6.4. Minimal Set of Logical Functions 6.4. Minimal Set of Logical Functions
The rest of this section defines a minimal set of logical functions The rest of this section defines a minimal set of logical functions
that any FE model MUST support. This minimal set DOES NOT imply that any FE model MUST support. However, this section shall not be
that all FEs must provide this functionality. Instead, these construed as to define a set of functions that all FEs must provide.
requirements only specify that the model must be capable of On the contrary, FEs are not required to support any of the
expressing the capabilities that FEs may choose to provide. following functions. These requirements only specify that the FE
model must be capable of expressing the capabilities that FEs are
likely to initially provide.
1)Port Functions 1)Port Functions
The FE model MUST be capable of expressing the number of ports on The FE model MUST be capable of expressing the number of ports on
the device, the static attributes of each port (e.g., port type, the device, the static attributes of each port (e.g., port type,
link speed), and the configurable attributes of each port (e.g., IP link speed), and the configurable attributes of each port (e.g., IP
address, administrative status). address, administrative status).
2)Forwarding Functions 2)Forwarding Functions
The FE model MUST be capable of expressing the data that can be used The FE model MUST be capable of expressing the data that can be used
by the forwarding function to make a forwarding decision. by the forwarding function to make a forwarding decision.
3)QoS Functions 3)QoS Functions
The FE model MUST allow a FE to express its QoS capabilities in The FE model MUST allow a FE to express its QoS capabilities in
terms of, e.g., metering, policing, shaping, and queuing functions. terms of, e.g., metering, policing, shaping, and queuing functions.
The FE model MUST be capable of expressing the use of these
functions to provide IntServ or DiffServ functionality as described
in [RFC2211], [RFC2212], [RFC2215], and [DS-PIB].
4)Generic Filtering Functions 4)Generic Filtering Functions
The FE model MUST be capable of expressing filtering functions. The The FE model MUST be capable of expressing complex sets of filtering
FE model MUST be capable of expressing a wide range of functions. The model MUST be able to express the existence of
classification abilities from single fields (e.g., destination multiples of these functions at arbitrary points in a FE's packet
address) to arbitrary n-tuples. Similarly, the FE model MUST be processing path. The FE model MUST be capable of expressing a wide
capable of expressing what actions these filtering functions can range of classification abilities from single fields (e.g.,
perform on packets that the classifier matches. destination address) to arbitrary n-tuples. Similarly, the FE model
MUST be capable of expressing what actions these filtering functions
can perform on packets that the classifier matches.
5)Vendor-Specific Functions 5)Vendor-Specific Functions
The FE model SHOULD be extensible so that vendor-specific The FE model SHOULD be extensible so that vendor-specific
functionality can be expressed. functionality can be expressed.
6)High-Touch Functions 6)High-Touch Functions
The FE model MUST be capable of expressing the encapsulation and The FE model MUST be capable of expressing the encapsulation and
tunneling capabilities of a FE. The FE model MUST support functions tunneling capabilities of a FE. The FE model MUST support functions
that mark the IPv4 header TOS octet or the IPv6 Traffic Class octet. that mark the IPv4 header TOS octet or the IPv6 Traffic Class octet.
The FE model MAY support other high touch functions (e.g., NAT, The FE model MAY support other high touch functions (e.g., NAT,
ALG). ALG).
7)Security Functions 7)Security Functions
The FE model MUST be capable of expressing the types of encryption The FE model MUST be capable of expressing the types of encryption
that may be applied to packets in the forwarding path. that may be applied to packets in the forwarding path.
7. ForCES Protocol Requirements 7. ForCES Protocol Requirements
This section specifies the requirements that a ForCES protocol MUST This section specifies some of the requirements that a ForCES
meet. protocol MUST meet.
1)Configuration of Modeled Elements 1)Configuration of Modeled Elements
The ForCES protocol MUST allow the CE to determine the capabilities The ForCES protocol MUST allow the CEs to determine the capabilities
of each FE. These capabilities SHALL be expressed using the FE of each FE. These capabilities SHALL be expressed using the FE
model whose requirements are defined in Section 6. Furthermore, the model whose requirements are defined in Section 6. Furthermore, the
protocol MUST provide a means for the CE to control all the FE protocol MUST provide a means for the CEs to control all the FE
capabilities that are discovered through the FE model. capabilities that are discovered through the FE model. (For
example, the protocol must be able to add/remove
classification/action entries, set/delete parameters, query
statistics, and register for and receive events.)
2)Support for Secure Communication 2)Support for Secure Communication
Since FE configuration will contain information critical to the Since FE configuration will contain information critical to the
functioning of a network (such as IP forwarding tables) and may functioning of a network (such as IP forwarding tables) and may
contain information derived from business relationships (e.g., contain information derived from business relationships (e.g.,
SLA's), the ForCES protocol MUST support a method of securing SLAs), the ForCES protocol MUST support a method of securing
communication between FEs and CEs to ensure that information is communication between FEs and CEs to ensure that information is
delivered privately and in an unmodified form. delivered privately and in an unmodified form.
3)Event Notification 3)Scalability
The ForCES protocol MUST support the sending of asynchronous events The ForCES protocol MUST be capable of supporting (i.e., must scale
(e.g., link up/down, redirected packet, out of memory) from a FE to to) at least hundreds of FEs and tens of thousands of ports. For
a CE. example, the ForCES protocol field sizes corresponding to FE or port
numbers SHALL be large enough to support the minimum required
numbers. This requirement does not relate to the performance of the
protocol as the number of FEs or ports in the NE grows.
4)Multihop
When the CEs and FEs are separated beyond a single hop, the ForCES
protocol will make use of an existing RFC2914 compliant L4 protocol
with adequate reliability, security and congestion control (e.g.
TCP, SCTP) for transport purposes.
5)Message Priority
The ForCES protocol MUST provide a means to express message
priority.
6)Reliability
The ForCES protocol SHALL assume that it runs on top of an
unreliable, datagram service. For IP networks, an encapsulation of
the ForCES protocol SHALL be defined that uses a [RFC2914]-compliant
transport protocol and provides a datagram service (that could be
unreliable). For non-IP networks, additional encapsulations MAY be
defined so long as they provide a datagram service to the ForCES
protocol. However, since some messages will need to be reliably
delivered to FEs, the ForCES protocol MUST provide internal support
for reliability mechanisms such as message acknowledgements and/or
state change confirmations.
8. Security Considerations 8. Security Considerations
See architecture requirement #5 and protocol requirement #2. See architecture requirement #5 and protocol requirement #2.
9. References 9. References
[DS-PIB] M. Fine, et. al., "Differentiated Services Quality of
[RFC1812] F. Baker, "Requirements for IP Version 4 Routers", Service Policy Information Base", work in progress, November 2001,
RFC1812, June 1995. <draft-ietf-diffserv-pib-05.txt>.
[REQ-PART] T. Anderson, C. Wang, J. Buerkle, "Requirements for the [REQ-PART] T. Anderson, C. Wang, J. Buerkle, "Requirements for the
Dynamic Partitioning of Network Elements", work in progress, August Dynamic Partitioning of Network Elements", work in progress, August
2001, <draft-ietf-gsmp-dyn-part-reqs-00.txt>. 2001, <draft-ietf-gsmp-dyn-part-reqs-00.txt>.
[RFC1812] F. Baker, "Requirements for IP Version 4 Routers",
RFC1812, June 1995.
[RFC2211] J. Wroclawski, "Specification of the Controlled-Load
Network Element Service", RFC2211, September 1997.
[RFC2212] S. Shenker, C. Partridge, R. Guerin, "Specification of
Guaranteed Quality of Service", RFC2212, September 1997.
[RFC2212] S. Shenker, J. Wroclawski, "General Characterization
Parameters for Integrated Service Network Elements", RFC2215,
September 1997.
[RFC2914] S. Floyd, "Congestion Control Principles", RFC2914,
September 2000.
10. Authors' Addresses 10. Authors' Addresses
Todd A. Anderson Todd A. Anderson
Intel Intel Labs
2111 NE 25th Avenue 2111 NE 25th Avenue
Hillsboro, OR 97124 USA Hillsboro, OR 97124 USA
Phone: +1 503 712 1760 Phone: +1 503 712 1760
Email: todd.a.anderson@intel.com Email: todd.a.anderson@intel.com
Ed Bowen Ed Bowen
IBM Zurich Research Laboratory IBM Zurich Research Laboratory
Saumerstrasse 4 Saumerstrasse 4
CH-8803 Rueschlikon Switzerland CH-8803 Rueschlikon Switzerland
Phone: +41 1 724 83 68 Phone: +41 1 724 83 68
Email: edbowen@us.ibm.com Email: edbowen@us.ibm.com
Ram Dantu Ram Dantu
Netrake Corporation Netrake Corporation
3000 Technology Drive, #100, 3000 Technology Drive, #100,
skipping to change at page 11, line 19 skipping to change at page 12, line 52
Email: edbowen@us.ibm.com Email: edbowen@us.ibm.com
Ram Dantu Ram Dantu
Netrake Corporation Netrake Corporation
3000 Technology Drive, #100, 3000 Technology Drive, #100,
Plano, Texas, 75074 Plano, Texas, 75074
rdantu@netrake.com rdantu@netrake.com
214 291 1111 214 291 1111
Avri Doria Avri Doria
Nortel Networks
600 Technology Park Drive
Billerica, MA 01821
Phone: +1 401 663 5024 Phone: +1 401 663 5024
Email: avri@nortelnetworks.com Email: avri@acm.org
Jamal Hadi Salim Jamal Hadi Salim
Znyx Networks Znyx Networks
Ottawa, Ontario Ottawa, Ontario
Canada Canada
Email: hadi@znyx.com Email: hadi@znyx.com
Hormuzd Khosravi Hormuzd Khosravi
Intel Intel Labs
2111 NE 25th Avenue 2111 NE 25th Avenue
Hillsboro, OR 97124 USA Hillsboro, OR 97124 USA
Phone: +1 503 264 0334 Phone: +1 503 264 0334
Email: hormuzd.m.khosravi@intel.com Email: hormuzd.m.khosravi@intel.com
Muneyb Minhazuddin Muneyb Minhazuddin
Avaya Inc. Avaya Inc.
123, Epping road, 123, Epping road,
North Ryde, NSW 2113, Australia North Ryde, NSW 2113, Australia
Phone: +61 2 9352 8620 Phone: +61 2 9352 8620
email: muneyb@avaya.com email: muneyb@avaya.com
Margaret Wasserman Margaret Wasserman
Wind River Wind River
10 Tara Blvd., Suite 330 10 Tara Blvd., Suite 330
Nashua, NH 03062 Nashua, NH 03062
Phone: +1 603 897 2067 Phone: +1 603 897 2067
Email: mrw@windriver.com Email: mrw@windriver.com
11. Appendix A - Open Issues
This section contains a list of issues on which a requirements
consensus has not been reached.
11.1. Protocol Issues
Some issues surrounding the ForCES protocol include the following.
Should ForCES allow for only reliable delivery of messages or should
it also allow for unreliable delivery in cases where reliability is
not needed? Should the ForCES protocol operate over a variety of
transports or should a single transport protocol be used? (It has
been mandated that in a multihop environment either TCP or SCTP be
used. However, whether we should allow alternative transports for
single hops is an open issue.)
11.2. Modeling Filtering Functions
How arbitrary should we be in describing where filtering (i.e.,
generic classification/action) may occur in the FE model?
11.3. Pre-Association Phase Protocol
We believe it is likely that a pre-association phase protocol will
be an integral and necessary part of the ForCES architecture but it
is not known what, if any, requirements should be placed on this
phase or protocol. Furthermore, it has not been resolved as to
whether this protocol should be merged with the post-association
phase protocol.
11.4. Multiple CEs
One of the open issues for discussion in the ForCES requirements has
to do with creating an NE that is composed of more than one CE or
PCE. There are several aspects to this discussion.
- There was acceptance of the possibility of an NE having several
CEs that provide redundancy. This option however, would be limited
to the use of similar CEs, i.e., CEs that provided the same
functional control capabilities, and would be used only in a
redundancy mode, disallowing load-sharing applications. In effect,
in this model there would be only one functioning CE at a time.
- There is a fair amount of disagreement over the use of multiple
CEs for tasks other than redundancy. Several members of the design
team have argued for scenarios where the following was possible:
-- Similar CEs used for load sharing
-- Dissimilar CEs that provide different capabilities to a set of
FEs. For example, one CE could be responsible for IP routing
while another was responsible for high-touch capabilities and
a third was responsible for VPN's.
In the discussions, several issues came up. Among the issues:
- If there are multiple CEs, whether similar or dissimilar, would
there need to be a master CE that maintained a single control
session with each FE.
- If there are several similar load sharing CEs, how does the FE
deal with multiple conflicting commands.
- If there are several similar load sharing CEs, how is the
representation of FE state in each of the CEs handled so that all
CEs have the same state representation.
- If there are several dissimilar CEs, how are cumulative effects
handled and how are these effects represented to the CEs.
There was some concern in the design team that adding multiple CEs
without a master CE would complicate the ForCES protocol
unnecessarily. There was also concern that leaving such a
capability out would limit the protocol unnecessarily. The design
team was not able to reach consensus on this issue.
11.5. FE Model Completeness
This requirements draft defines a set of logical functions that we
believe are necessary to allow basic types of FEs to be created.
Whether this set is sufficient to describe all the functionality of
any FE is an open issue. If it is not sufficient, the question of
what additional logical functions need to be standardized and which
functions should be left to individual vendors remains an open
issue.
11.6. Management
The current belief is that a NE is the primary management entity and
that direct management access to individual ForCES protocol elements
is permitted but only for the purpose of transitioning those
elements from the pre-association to the post-association phase.
However, there may be other management concerns that require direct
access to ForCES elements for other reasons. Thus, the ultimate
state of the management model is an open issue.
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/