draft-ietf-forces-tcptml-02.txt   draft-ietf-forces-tcptml-03.txt 
Hormuzd Khosravi Hormuzd Khosravi
Internet Draft Shuchi Chawla Internet Draft Shuchi Chawla
Document: draft-ietf-forces-tcptml-02.txt Intel Corp. Document: draft-ietf-forces-tcptml-03.txt Intel Corp.
Expires: September 2006 Furquan Ansari Expires: January 2007 Furquan Ansari
Working Group: ForCES Lucent Tech. Working Group: ForCES Lucent Tech.
Jon Maloy Jon Maloy
Ericsson Ericsson
TCP/IP based TML (Transport Mapping Layer) for ForCES protocol TCP/IP based TML (Transport Mapping Layer) for ForCES protocol
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
skipping to change at page 2, line 17 skipping to change at page 2, line 17
the requirements described in the Forces [3] requirements and ForCES the requirements described in the Forces [3] requirements and ForCES
protocol [5] document. protocol [5] document.
Table of Contents Table of Contents
1. Definitions.....................................................3 1. Definitions.....................................................3
2. Introduction....................................................3 2. Introduction....................................................3
3. Protocol Framework Overview.....................................4 3. Protocol Framework Overview.....................................4
3.1.1. The PL layer................................................5 3.1.1. The PL layer................................................5
3.1.2. The TML layer...............................................5 3.1.2. The TML layer...............................................5
4. IP TML Overview.................................................5 4. TML Overview....................................................5
4.1. Rationale for using TCP and DCCP..............................6 4.1. Rationale for using TCP and DCCP..............................6
4.2. Separate Control and Data channels............................6 4.2. Separate Control and Data channels............................6
4.3. Reliability...................................................8 4.3. Reliability...................................................8
4.4. Congestion Control............................................8 4.4. Congestion Control............................................8
4.5. Security......................................................8 4.5. Security......................................................8
4.6. Addressing....................................................8 4.6. Addressing....................................................8
4.7. Prioritization................................................9 4.7. Prioritization................................................9
4.8. HA Decisions..................................................9 4.8. HA Decisions..................................................9
4.9. Encapsulations Used..........................................10 4.9. Encapsulations Used..........................................10
5. TML Messaging..................................................10 5. TML Messaging..................................................10
skipping to change at page 3, line 7 skipping to change at page 3, line 7
Appendix A. TML Service Interface................................19 Appendix A. TML Service Interface................................19
A.1. TML Initialize.............................................19 A.1. TML Initialize.............................................19
A.2. TML Channel Open...........................................20 A.2. TML Channel Open...........................................20
A.3. TML Channel Close..........................................21 A.3. TML Channel Close..........................................21
A.4. TML Channel Write..........................................22 A.4. TML Channel Write..........................................22
A.5. TML Channel Read...........................................23 A.5. TML Channel Read...........................................23
A.6. TML Multicast Group Join...................................24 A.6. TML Multicast Group Join...................................24
A.7. TML Multicast Group Leave..................................25 A.7. TML Multicast Group Leave..................................25
Authors' Addresses................................................26 Authors' Addresses................................................26
1. Definitions 1.
Definitions
The following definitions are taken from [3], [5] The following definitions are taken from [3], [5]
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 protocol used at the Fp reference point in the ForCES only to the protocol used at the Fp reference point in the ForCES
Framework in RFC3746 [4]. This protocol does not apply to Framework in RFC3746 [4]. This protocol does not apply to
CE-to-CE communication, FE-to-FE communication, or to communication CE-to-CE communication, FE-to-FE communication, or to communication
between FE and CE managers. Basically, the ForCES protocol works in between FE and CE managers. Basically, the ForCES protocol works in
a master-slave mode in which FEs are slaves and CEs are masters. a master-slave mode in which FEs are slaves and CEs are masters.
skipping to change at page 3, line 33 skipping to change at page 3, line 34
Specifications of ForCES PL are defined by this document. Specifications of ForCES PL are defined by this document.
ForCES Protocol Transport Mapping Layer (ForCES TML) -- A layer in ForCES Protocol Transport Mapping Layer (ForCES TML) -- A layer in
ForCES protocol architecture that specifically addresses the ForCES protocol architecture that specifically addresses the
protocol message transportation issues, such as how the protocol protocol message transportation issues, such as how the protocol
messages are mapped to different transport media (like TCP, IP, ATM, messages are mapped to different transport media (like TCP, IP, ATM,
Ethernet, etc), and how to achieve and implement reliability, Ethernet, etc), and how to achieve and implement reliability,
multicast, ordering, etc. This document defines an IP based ForCES multicast, ordering, etc. This document defines an IP based ForCES
TML. TML.
2. Introduction 2.
Introduction
The ForCES (Forwarding and Control Element Separation) working group The ForCES (Forwarding and Control Element Separation) working group
in the IETF is defining the architecture and protocol for separation in the IETF is defining the architecture and protocol for separation
of control and forwarding elements in network elements such as of control and forwarding elements in network elements such as
routers. [3], [4] define both architectural and protocol routers. [3
.], [4] define both architectural and protocol
requirements for the communication between CE and FE. The ForCES requirements for the communication between CE and FE. The ForCES
protocol layer [5] describes the protocol specification. It is protocol layer [5] describes the protocol specification. It is
envisioned that the ForCES protocol would be independent of the envisioned that the ForCES protocol would be independent of the
interconnect technology between the CE and FE and can run over interconnect technology between the CE and FE and can run over
multiple transport technologies and protocol. Thus a Transport multiple transport technologies and protocol. Thus a Transport
Mapping Layer (TML) has been defined in the protocol framework that Mapping Layer (TML) has been defined in the protocol framework that
will take care of mapping the protocol messages to specific will take care of mapping the protocol messages to specific
transports. This document defines the IP based TML for the ForCES transports. This document defines the IP based TML for the ForCES
protocol layer. It also addresses all the requirements for the TML protocol layer. It also addresses all the requirements for the TML
including security, reliability, etc. including security, reliability, etc.
3. Protocol Framework Overview 3.
Protocol Framework Overview
The reader is referred to the Framework document [4], and in The reader is referred to the Framework document [4], and in
particular sections 3 and 4, for architectural overview and where particular sections 3 and 4, for architectural overview and where
and how the ForCES protocol fits in. There may be some content and how the ForCES protocol fits in. There may be some content
overlap between the ForCES protocol draft [5] and this section in overlap between the ForCES protocol draft [5] and this section in
order to provide clarity. order to provide clarity.
The ForCES protocol constitutes two pieces: the PL and TML layer. The ForCES protocol constitutes two pieces: the PL and TML layer.
This is depicted in Figure 1 below. This is depicted in Figure 1 below.
skipping to change at page 5, line 28 skipping to change at page 5, line 28
both the FE and associated LFBs attributes using the PL layer. In both the FE and associated LFBs attributes using the PL layer. In
addition the CE may send various requests to the FE to activate or addition the CE may send various requests to the FE to activate or
deactivate it, reconfigure it’s HA parameterization, subscribe to deactivate it, reconfigure it’s HA parameterization, subscribe to
specific events etc. specific events etc.
3.1.2.The TML layer 3.1.2.The TML layer
The TML layer is essentially responsible for transport of the PL The TML layer is essentially responsible for transport of the PL
layer messages. The TML is where the issues of how to achieve layer messages. The TML is where the issues of how to achieve
transport level reliability, congestion control, multicast, transport level reliability, congestion control, multicast,
ordering, etc. are handled. It is expected more than one TML will ordering, etc. are handled. All TMLs will deliver a standard set of
be standardized. The different TMLs each could implement things services and capabilities to the PL; the PL may use any available
differently based on capabilities of underlying media and transport. TML. The different TMLs each could implement things differently
However, since each TML is standardized, interoperability is based on capabilities of underlying media and transport.
guaranteed as long as both endpoints support the same TML. All However, since all TMLs will support a standardized interface,
ForCES Protocol Layer implementations should be portable across all interoperability is guaranteed as long as both endpoints support the
TMLs, because all TMLs have the same top edge semantics. same TML. All ForCES Protocol Layer implementations should be
portable across all TMLs, because all TMLs have the same top edge
semantics.
4. IP TML Overview 4.
TML Overview
The IP TML consists of two connections between the CE and FE over The TML consists of two connections between the CE and FE over which
which the protocol messages are exchanged. One of the connections is the protocol messages are exchanged. One of the connections is
called the control channel, over which control messages are called the control channel, over which control messages are
exchanged, the other is called data channel over which external exchanged, the other is called data channel over which external
protocol packets, such as routing packets will be exchanged. The protocol packets, such as routing packets will be exchanged. The
control channel is a TCP connection; the data channel is a DCCP control channel is a TCP connection; the data channel is a DCCP
connection. The TCP and DCCP connections will use unique server connection. The TCP and DCCP connections will use unique server
port numbers for each of the channels. In addition to this, this TML port numbers for each of the channels. In addition to this, this TML
will provide mechanisms to prioritize the messages over the will provide mechanisms to prioritize the messages over the
different channels. different channels.
Some of the rationale for choosing these transport mechanisms as Some of the rationale for choosing these transport mechanisms as
skipping to change at page 7, line 42 skipping to change at page 7, line 45
Legend: Legend:
---- Cc# : Unicast Control Channel between Active CE and FE# ---- Cc# : Unicast Control Channel between Active CE and FE#
-.-. Cd# : Unicast Data Channel between Active CE and FE# -.-. Cd# : Unicast Data Channel between Active CE and FE#
---- Cc#’: Unicast Control Channel between Standby CE and FE# ---- Cc#’: Unicast Control Channel between Standby CE and FE#
-.-. Cd#’: Unicast Data Channel between Standby CE and FE# -.-. Cd#’: Unicast Data Channel between Standby CE and FE#
Figure 2: CE-FE Communication Channels Figure 2: CE-FE Communication Channels
The data channel carries the control protocol packets such as RIP, The data channel carries IP packets from the network needed by the
OSPF messages as outlined in Requirements [3] Section 7 #10, which CE, such as RIP, OSPF packets as outlined in Requirements [3]
are carried in ForCES Packet Redirect messages [5], between the CEs Section 7 #10, which are carried in ForCES Packet Redirect messages
and FEs. All the other ForCES messages, which are used for [5], between the CEs and FEs. All the other ForCES messages, which
configuration/capability exchanges, event notification, etc, are are used for configuration/capability exchanges, event notification,
carried over the control channel. The data channel is set up only etc, are carried over the control channel. The data channel is set
after the control channel is set up. up only after the control channel is set up.
4.3.Reliability 4.3.Reliability
TCP provides the reliability (no losses, no data corruption, no re- TCP provides the reliability (no losses, no data corruption, no re-
ordering of data) required for ForCES protocol control messages. ordering of data) required for ForCES protocol control messages.
As mentioned earlier, as per [3], strict reliability is not a As mentioned earlier, as per [3], strict reliability is not a
requirement for payload carried over the data channel. Hence, the requirement for payload carried over the data channel. Hence, the
use of DCCP is adequate for the data channel. use of DCCP is adequate for the data channel.
skipping to change at page 9, line 18 skipping to change at page 9, line 22
DCCP connection between the CE and FE. Multicast/broadcast DCCP connection between the CE and FE. Multicast/broadcast
addressing and delivery is not supported over the data channel; data addressing and delivery is not supported over the data channel; data
messages may only be sent from the CE to the FEs using unicast messages may only be sent from the CE to the FEs using unicast
FEIds. If multicast support is required, the higher level protocol FEIds. If multicast support is required, the higher level protocol
being carried over the data channel is responsible for it. being carried over the data channel is responsible for it.
4.7.Prioritization 4.7.Prioritization
This TML provides prioritization of messages sent over control This TML provides prioritization of messages sent over control
channel as compared to the data channel. This has also been found to channel as compared to the data channel. This has also been found to
be useful in face of DoS attacks on the protocol. Additionally it be useful in face of DoS attacks on the protocol. Additionally the
supports multiple levels of prioritization for control messages. The TML can support multiple levels of prioritization for control
scheduling algorithm used at the TML layer gives preferential messages if it supports a multi-queue strategy. The scheduling
treatment to higher priority messages. The scheduling algorithm algorithm used at the TML layer would give preferential treatment to
used in the TML layer is implementation dependent. higher priority messages. The scheduling algorithm used in the TML
layer is implementation dependent.
4.8.HA Decisions 4.8.HA Decisions
The TML transports the heartbeat messages generated at the PL layer The TML transports the heartbeat messages generated at the PL layer
to detect liveness of the CE/FE. The TML does not generate any to detect liveness of the CE/FE. The TML does not generate any
heartbeat messages of its own. The PL heartbeat messages are heartbeat messages of its own. The PL heartbeat messages are
carried over the control channel. carried over the control channel. For the data channel, the TML will
propagate any DCCP detected connectivity issues over the channel to
TBD: the PL layer. If the PL wishes to actively monitor the data
Liveliness detection over the data channel -- options channel, it may do so by sending periodic redirect packets from the
1. Carry the same PL heartbeat message over both the control and CE to the FE. This details of this mechanism are however outside
data channels, that is, multicast the heartbeat over the 2 the scope of the TML.
channels. The heartbeat response is terminated at the TML layer
and a single response generated for the PL layer since the PL
layer is unaware the message was sent over two distinct channels.
2. Use a TML generated heartbeat message for the data channel. Note
that this introduces TML Layer messaging
3. Do not support explicit liveliness over the data channel.
TML is responsible for keeping the control and data communication TML is responsible for keeping the control and data communication
channels up. It however does not have the authority to decide which channels up. It however does not have the authority to decide which
CE to set up the channels with. That is outside its control. CE to set up the channels with. That is outside its control.
If a FE-CE communication channel goes down or connectivity is lost, If a FE-CE communication channel goes down or connectivity is lost,
the following steps are taken by the TML layer: the following steps are taken by the TML layer:
- FE TML attempts to reestablish the communication channel - FE TML attempts to reestablish the communication channel
- If the FE TML is unable to reestablish the channel (after some - If the FE TML is unable to reestablish the channel (after some
configured number of retries/timeout), it notifies the FE PL that configured number of retries/timeout), it notifies the FE PL that
the channel is down. the channel is down.
- CE TML waits for the channel to be reestablished (since only the - CE TML waits for the channel to be reestablished (since only the
FE can reestablish it) for some configured timeout prior to FE can reestablish it) for some configured timeout prior to
notifying the CE PL that the channel is down. Alternatively, the notifying the CE PL that the channel is down. Alternatively, the
PL may detect the channel is down via the use of the PL generated PL may detect the channel is down via the use of the PL generated
heartbeat messages. heartbeat messages.
If the control channel goes down, PL will control initiation of a If the control channel or data channel goes down, PL will control
failover to a new CE – both control and data channels will be initiation of a failover to a new CE – both control and data
reestablished with the new CE. channels will be reestablished with the new CE.
If an FE goes down and a standby FE exists for it, and it has If an FE goes down and a standby FE exists for it, and it has
communication channels set up with the CE, the CE PL may start to communication channels set up with the CE, the CE PL may start to
use the channels associated with the standby FE. This is not within use the channels associated with the standby FE. This is not within
the scope of TML itself, but falls in the scope of High the scope of TML itself, but falls in the scope of High
Availability. Availability.
4.9.Encapsulations Used 4.9.Encapsulations Used
There is no further message encapsulation of control and data There is no further message encapsulation of control and data
messages done at the TML layer. The PL generated control messages messages done at the TML layer. The PL generated control messages
are transported as is by the TML layer. The ForCES protocol control are transported as is by the TML layer. The ForCES protocol control
messages are encapsulated with a TCP/IP header. The PL data messages messages are encapsulated with a TCP/IP header. The PL data messages
carried over the data channel are encapsulated in a DCCP header. carried over the data channel are encapsulated in a DCCP header.
5. TML Messaging 5.
TML Messaging
There is no TML layer messaging. TML only transports messages from There is no TML layer messaging. TML only transports messages from
the PL layer. the PL layer.
6. TML Interface to Upper layer Protocol 6.
TML Interface to Upper layer Protocol
ForCES TML interfaces with an upper layer protocol, the PL Layer and ForCES TML interfaces with an upper layer protocol, the PL Layer and
a lower layer protocol, TCP (in the case of TCP TML). This section a lower layer protocol, TCP (in the case of TCP TML). This section
defines the interface to the upper layer protocol. This interface defines the interface to the upper layer protocol. This interface
should be used only as a guideline in implementing the API. should be used only as a guideline in implementing the API.
Additionally, although the current interface is defined mainly as a Additionally, although the current interface is defined mainly as a
synchronous interface, the interface may be implemented to be synchronous interface, the interface may be implemented to be
asynchronous if desired. asynchronous if desired.
6.1.TML Service Interface Overview 6.1.TML Service Interface Overview
skipping to change at page 17, line 14 skipping to change at page 17, line 14
Figure 8: Multicast Support: FE1 Leaves Group Figure 8: Multicast Support: FE1 Leaves Group
6.4.Broadcast Model 6.4.Broadcast Model
The TML layer provides support for broadcast of control messages. The TML layer provides support for broadcast of control messages.
In the ForCES model, support is required to broadcast to the FEs In the ForCES model, support is required to broadcast to the FEs
from a CE. The broadcast model is just a special case of multicast, from a CE. The broadcast model is just a special case of multicast,
where all FEs are included. This TML does not support CE or NE where all FEs are included. This TML does not support CE or NE
broadcast. broadcast.
7. Security Considerations 7.
Security Considerations
If the CE or FE are in a single box and network operator is running If the CE or FE are in a single box and network operator is running
under a secured environment then it is up to the network under a secured environment then it is up to the network
administrator to turn off all the security functions. This is administrator to turn off all the security functions. This is
configured during the pre-association phase of the protocol. This configured during the pre-association phase of the protocol. This
mode is called “no security” mode of operation. mode is called “no security” mode of operation.
When the CEs, FEs are running over IP networks or in an insecure When the CEs, FEs are running over IP networks or in an insecure
environment, the operator has the choice of configuring either TLS environment, the operator has the choice of configuring either TLS
[6] or IPSec [15] to provide security. The security association [6] or IPSec [15] to provide security. The security association
skipping to change at page 18, line 11 skipping to change at page 18, line 11
defined for usage with DCCP. defined for usage with DCCP.
7.2.IPSec Usage for securing TML 7.2.IPSec Usage for securing TML
This section is applicable for CE or FE endpoints that use the TML This section is applicable for CE or FE endpoints that use the TML
with IPSec [15] to secure their respective communication. IPSec is with IPSec [15] to secure their respective communication. IPSec is
transparent to the higher-layer applications and can provide transparent to the higher-layer applications and can provide
security for any transport layer protocol. This mechanism is can be security for any transport layer protocol. This mechanism is can be
used to secure just the control or both the control and the data used to secure just the control or both the control and the data
channel simultaneously. channel simultaneously.
8. IANA Considerations 8.
IANA Considerations
This TML needs to have a one well-defined TCP port number for This TML needs to have a one well-defined TCP port number for
control messaging, which needs to be assigned by IANA. The control control messaging, which needs to be assigned by IANA. The control
port is referred to as the TCP_TML_CONTROL_PORT. Similarly, TML port is referred to as the TCP_TML_CONTROL_PORT. Similarly, TML
requires one well-defined DCCP port number for data messaging. This requires one well-defined DCCP port number for data messaging. This
data port is referred to as the DCCP_TML_DATA_PORT. data port is referred to as the DCCP_TML_DATA_PORT.
9. Manageability 9.
Manageability
TBD TBD
10. References 10.
References
10.1.Normative References 10.1.Normative References
1. S. Bradner, "The Internet Standards Process -Revision 3", RFC 2026, 1. S. Bradner, "The Internet Standards Process -Revision 3", RFC 2026,
October 1996. October 1996.
2. S. Bradner, "Keywords for use in RFCs to Indicate Requirement 2. S. Bradner, "Keywords for use in RFCs to Indicate Requirement
Levels", RFC2119 (BCP), IETF, March 1997. Levels", RFC2119 (BCP), IETF, March 1997.
3. Khosravi, et al., ’’Requirements for Separation of IP Control and 3. Khosravi, et al., ’’Requirements for Separation of IP Control and
Forwarding”, RFC 3654, November 2003. Forwarding”, RFC 3654, November 2003.
skipping to change at page 19, line 35 skipping to change at page 19, line 35
13.H. Khosravi, S. Lakkavali, “Analysis of protocol design issues for 13.H. Khosravi, S. Lakkavali, “Analysis of protocol design issues for
open standards based programmable routers and switches” [SoftCOM open standards based programmable routers and switches” [SoftCOM
2004] 2004]
14.S. Lakkavali, H. Khosravi, “ForCES protocol design analysis for 14.S. Lakkavali, H. Khosravi, “ForCES protocol design analysis for
protection against DoS attacks” [ICCCN 2004] protection against DoS attacks” [ICCCN 2004]
15.S. Kent, R. Atkinson, “Security Architecture for the Internet 15.S. Kent, R. Atkinson, “Security Architecture for the Internet
Protocol”, RFC 2401 Protocol”, RFC 2401
11. Acknowledgments 11.
Acknowledgments
Appendix A. TML Service Interface Appendix A. TML Service Interface
A.1. TML Initialize A.1. TML Initialize
status tmlInit( status tmlInit(
in channelType, in channelType,
in initAttributes) in initAttributes)
Input Parameters: Input Parameters:
 End of changes. 20 change blocks. 
51 lines changed or deleted 60 lines changed or added

This html diff was produced by rfcdiff 1.32. The latest version is available from http://www.levkowetz.com/ietf/tools/rfcdiff/