draft-ietf-forces-tcptml-03.txt   draft-ietf-forces-tcptml-04.txt 
Hormuzd Khosravi Hormuzd Khosravi
Internet Draft Shuchi Chawla Internet Draft Shuchi Chawla
Document: draft-ietf-forces-tcptml-03.txt Intel Corp. Document: draft-ietf-forces-tcptml-04.txt Intel Corp.
Expires: January 2007 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
skipping to change at page 2, line 7 skipping to change at page 2, line 7
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 [2]. this document are to be interpreted as described in [2].
Abstract Abstract
This document defines the IP based TML (Transport Mapping Layer) for This document defines the IP based TML (Transport Mapping Layer) for
the ForCES protocol. It explains the rationale for choosing the the ForCES protocol. It explains the rationale for choosing the
transport protocols and also describes how this TML addresses all transport protocols and also describes how this TML addresses all
the requirements described in the Forces [3] requirements and ForCES the requirements described in the Forces [3] requirements and
protocol [5] document. ForCES 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. 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
skipping to change at page 2, line 37 skipping to change at page 2, line 37
5. TML Messaging..................................................10 5. TML Messaging..................................................10
6. TML Interface to Upper layer Protocol..........................10 6. TML Interface to Upper layer Protocol..........................10
6.1. TML Service Interface Overview...............................10 6.1. TML Service Interface Overview...............................10
6.2. Protocol Initialization and Shutdown Model...................11 6.2. Protocol Initialization and Shutdown Model...................11
6.2.1. Protocol Initialization....................................11 6.2.1. Protocol Initialization....................................11
6.2.2. Protocol Shutdown..........................................13 6.2.2. Protocol Shutdown..........................................13
6.3. Multicast Model..............................................14 6.3. Multicast Model..............................................14
6.4. Broadcast Model..............................................17 6.4. Broadcast Model..............................................17
7. Security Considerations........................................17 7. Security Considerations........................................17
7.1. TLS Usage for Securing TML...................................17 7.1. TLS Usage for Securing TML...................................17
7.2. IPSec Usage for securing TML.................................17 7.2. IPSec Usage for securing TML.................................18
8. IANA Considerations............................................18 8. IANA Considerations............................................18
9. Manageability..................................................18 9. Manageability..................................................18
10. References....................................................18 10. References....................................................18
10.1. Normative References........................................18 10.1. Normative References........................................18
10.2. Informative References......................................18 10.2. Informative References......................................18
11. Acknowledgments...............................................19 11. Acknowledgments...............................................19
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...................................25
A.7. TML Multicast Group Leave..................................25 A.7. TML Multicast Group Leave..................................25
Authors' Addresses................................................26 Authors' Addresses...............................................26
1. 1.
Definitions 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
skipping to change at page 8, line 39 skipping to change at page 8, line 39
4.5.Security 4.5.Security
The TML channel can be secured in multiple ways. The default mode is The TML channel can be secured in multiple ways. The default mode is
to support the “no security”, a mode that is commonly used when it to support the “no security”, a mode that is commonly used when it
is determined that securing the ForCES channel is not needed (e.g. is determined that securing the ForCES channel is not needed (e.g.
closed-box scenario). For scenarios where security is important, the closed-box scenario). For scenarios where security is important, the
TML uses either the TLS [6] or the IPSec [15] mechanisms to secure TML uses either the TLS [6] or the IPSec [15] mechanisms to secure
the channel(s). The security mode selection is normally done through the channel(s). The security mode selection is normally done through
configuration on either ends. Note that the TML will operate configuration on either ends. Note that the TML will operate
correctly only when both the ends are configured with the same correctly only when both the ends are configured with the same
security mechanism. Please see section 7 on security considerations security mechanism. The security mode used by the CE and FE is
for more details. dependent on the deployment scenario as per the ForCES protocol
requirements draft [3
.]. Please see section 7 on security
considerations for more details.
4.6.Addressing 4.6.Addressing
This TML uses addressing provided by IP layer. This TML uses addressing provided by IP layer.
For unicast addressing/delivery of control messages, it uses the TCP For unicast addressing/delivery of control messages, it uses the TCP
connection between the CE and FE. For multicast/broadcast connection between the CE and FE. For multicast/broadcast
addressing/delivery of control messages, this TML uses multiple TCP addressing/delivery of control messages, this TML uses multiple TCP
connections between the CE and FEs. connections between the CE and FEs.
skipping to change at page 11, line 4 skipping to change at page 11, line 4
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
This section provides an overview of the TML service interface to This section provides an overview of the TML service interface to
help with understanding the following sections on protocol behavior help with understanding the following sections on protocol behavior
with respect to initialization and multicast support. The details with respect to initialization and multicast support. Note that
on this interface are specified in Appendix A. this is just a brief overview for understanding the protocol
initialization/shutdown sequences. It is by no means complete; the
complete service interface is being specified in a separate draft.
More details on this interface are specified in Appendix A.
tmlInit() – Enables establishment of communication channels tmlInit() – Enables establishment of communication channels
tmlOpen() – Opens one or more communication channels for control and tmlOpen() – Opens one or more communication channels for control and
data messaging data messaging
tmlClose() – Closes one or more communication channels used for tmlClose() – Closes one or more communication channels used for
control and data messaging control and data messaging
tmlWrite() – Write messages to a specific CE or FE tmlWrite() – Write messages to a specific CE or FE
skipping to change at page 12, line 5 skipping to change at page 12, line 7
following are the significant aspects associated with channel setup: following are the significant aspects associated with channel setup:
- A single call by the PL layer sets up the communication channels - A single call by the PL layer sets up the communication channels
for both control and data messaging to a specific FE. The call for both control and data messaging to a specific FE. The call
specifies Unicast CE Id and attributes for control and data specifies Unicast CE Id and attributes for control and data
channels. channels.
- It is up to the TML layer whether to set up a single channel for - It is up to the TML layer whether to set up a single channel for
both control and data or distinct channels for control and data both control and data or distinct channels for control and data
- TML sets up the appropriate channels and allocates required - TML sets up the appropriate channels and allocates required
descriptors for the channels. TML layer maintains a mapping descriptors for the channels. TML layer maintains a mapping
between the Unicast FE/CE Id and the channel descriptors and between the Unicast FE/CE Id and the channel descriptors and
channel type (control versus data) it creates. channel type (control versus data) it creates once the FEId/CEId
is known.
- There is no need for channel descriptors to be returned to the PL - There is no need for channel descriptors to be returned to the PL
layer at either the FE or the CE. PL Layer only uses the Unicast layer at either the FE or the CE. PL Layer only uses the Unicast
FE/CE Id for read/write calls and specifies the type of message FE/CE Id for read/write calls and specifies the type of message
(control versus data) to be read/written. (control versus data) to be read/written.
- If only one of the channels is setup successfully, the TML layer - If only one of the channels is setup successfully, the TML layer
will have to return appropriate status that specifies which will have to return appropriate status that specifies which
channel is setup successfully and which isn’t. channel is setup successfully and which isn’t.
Figure 4 illustrates the initialization model where the PL layer via Figure 4 illustrates the initialization model where the PL layer via
an interface provided by the TML Layer, triggers the setup of the an interface provided by the TML Layer, triggers the setup of the
skipping to change at page 12, line 29 skipping to change at page 12, line 32
| | | | \ | | | | \
/ | | | tmlInit() | | / | | | tmlInit() | |
FE | | | |<--------------| > CE Init/ FE | | | |<--------------| > CE Init/
Init/ < | | | | | Bootup Init/ < | | | | | Bootup
Bootup | | | | | / Bootup | | | | | /
\ | | | | \ | | | |
| tmlOpen(CeId) | | | | tmlOpen(CeId) | | |
|-------------->| | | \ |-------------->| | | \
| |CtrlChan(Cc) Setup | | | Setup control | |CtrlChan(Cc) Setup | | | Setup control
| |~~~~~~~~~~~~~~~~~~~~~~>| | | channel if not | |~~~~~~~~~~~~~~~~~~~~~~>| | | channel if not
| | FeId . [CcDes<ctrl>] | | setup. TML | | | > already setup
| | | | > has mapping | |CtrlChan(Cc) Setup Rsp | | |
| |CtrlChan(Cc) Setup Rsp | | | from PL Layer | |<~~~~~~~~~~~~~~~~~~~~~~| | |
| |<~~~~~~~~~~~~~~~~~~~~~~| | | Id to channel | CeId . [CcDes<ctrl>] | | |
| CeId . [CcDes<ctrl>] | | | descriptor and | | | /
| | | / channel type.
| | | | | | | |
| |DataChan(Cd) Setup | | | Setup data | |DataChan(Cd) Setup | | | Setup data
| |~~~~~~~~~~~~~~~~~~~~~~>| | | channel if not | |~~~~~~~~~~~~~~~~~~~~~~>| | | channel if not
| | FeId . [CcDes<ctrl>, | | setup. TML | | | | > already setup
| | CdDes<data>] | | updates | |DataChan(Cd) Setup Rsp | | |
| | | | > mapping from | |<~~~~~~~~~~~~~~~~~~~~~~| | |
| |DataChan(Cd) Setup Rsp | | | PL Layer | CeId . [CcDes<ctrl>, | | |
| |<~~~~~~~~~~~~~~~~~~~~~~| | | Id to channel | | CdDes<data>] | | /
| CeId . [CcDes<ctrl>, | | | descriptor and
| | CdDes<data>] | | / channel type.
| | | | | | | |
| <-- status | | | | <-- status | | |
| | | | | | | |
|tmlEvent(ChUp) | |tmlEvent(ChUp) | |tmlEvent(ChUp) | |tmlEvent(ChUp) |
|<--.--.--.--.--| |--.--.--.--.-->| |<--.--.--.--.--| |--.--.--.--.-->|
| | | | | | | |
| | Asso Setup Req | | | | Asso Setup Req | |
|---------------|-----------------------|-------------->| |---------------|-----------------------|-------------->|
| | Asso Setup Rsp | | | FeId . [CcDes<ctrl>, | \
|<--------------|-----------------------|---------------| | CdDes<data>] | | TML updates
| | > its mappings
| | | once FEId is
| | Asso Setup Rsp | | | available.
|<--------------|-----------------------|---------------| /
| | | | | | | |
| | Capability Query | | | | Capability Query | |
|<--------------|-----------------------|---------------| |<--------------|-----------------------|---------------|
| | Capability Query Rsp | | | | Capability Query Rsp | |
|---------------|-----------------------|-------------->| |---------------|-----------------------|-------------->|
| | | | | | | |
| | Topology Query | | | | Topology Query | |
|<--------------|-----------------------|---------------| |<--------------|-----------------------|---------------|
| | Topology Query Rsp | | | | Topology Query Rsp | |
|---------------|-----------------------|-------------->| |---------------|-----------------------|-------------->|
skipping to change at page 19, line 40 skipping to change at page 19, line 40
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. 11.
Acknowledgments Acknowledgments
Appendix A. TML Service Interface Appendix A. TML Service Interface
Note that this is just an overview for understanding the protocol
initialization/shutdown sequences. It is by no means complete; the
complete service interface is being specified in a separate draft.
A.1. TML Initialize A.1. TML Initialize
status tmlInit( status tmlInit(
in channelType, in channelType,
in initAttributes) in initAttributes)
Input Parameters: Input Parameters:
channelType: control versus data channel channelType: control versus data channel
initAttributes: initialization parameters initAttributes: initialization parameters
Output Parameters: Output Parameters:
none none
Returns: Returns:
status: SUCCESS status: SUCCESS
Errors TBD Errors TBD
Synopsis: Synopsis:
tmlInit() enables establishment of communication channels on the tmlInit() enables establishment of communication channels on the
entity that this API is invoked. Optionally specifies attributes if entity that this API is invoked. Optionally specifies attributes if
any, for initialization. This call does not however result in the any, for initialization. This call does not however result in the
 End of changes. 14 change blocks. 
27 lines changed or deleted 39 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/