SCTP-Based Transport Mapping Layer (TML) for the Forwarding and Control Element Separation (ForCES) Protocol
Extracted elements (22)
SCTP was chosen as the single transport for ForCES TML because it subsumes the features of TCP, UDP, and DCCP combined, including multi-homing, partial reliability, message boundaries, and built-in congestion control. This eliminates the need for multiple transport protocols and reduces interoperability concerns.
The LP channel is unreliable because some redirected control protocols are themselves reliable (adding TML reliability would be harmful) or desire message obsolescence over retransmission. ForCES heartbeats are also traffic-sensitive and tolerate loss if the peer is busy.
The strict-priority scheduling scheme is designed to tie node overload to transport congestion: when the ForCES node CPU is overwhelmed, channel queues grow, SCTP propagates congestion back to the source, and HP work is always prioritized to maintain a robust steady processing capacity.
Three separate SCTP sockets (one per priority channel) are used instead of three SCTP streams over a single socket to avoid head-of-line blocking. Lower-priority unreliable packets on a single socket could block higher-priority reliable packets under congestion for an indeterminate period.
The SCTP TML translates PL addresses to unicast IP addresses to emulate multicast and broadcast PL addresses, since SCTP replicasts to multiple unicast destinations but does not natively support IP multicast.
A compliant implementation SHOULD provide operational means for configuring the CE and FE to negotiate other cipher suites and even use manual keying as alternatives to the mandatory defaults.
A response to a ForCES message MUST contain the same priority as the request; for example, a Config sent by the CE with priority 5 MUST have a ConfigResponse from the FE with priority 5.
If PL priorities outside the specified range, incorrect PPID, or incorrect PL message types are received on the HP channel, the PL message MUST be dropped.
In scenarios using multiple IP addresses within a single SCTP association with per-address IPsec policies, following RFC 3554 (SCTP with IPsec) is RECOMMENDED.
It is RECOMMENDED that only the IANA-issued SCTP protocol number (132) be used as a selector in the IPsec SPD for ForCES, requiring only a single SPD and SAD entry. Per-port selectors using all three TML ports are an alternative but require more SPD entries.
PL priorities 4-7 MUST be used for all PL messages on the HP channel. AssociationSetup, AssociationSetupResponse, AssociationTeardown (priority 7), Config, ConfigResponse, Query, and QueryResponse (priority 4) MUST use the HP channel.
SCTP PPID 22 MUST be used for all messages on the MP channel. PL priority 3 MUST be used for PL messages on this channel, and only Event Notification messages MUST use this channel.
The FE SHOULD connect channels to the CE in order of incrementing priorities (LP first, then MP, then HP). The CE MUST NOT assume any ordering of socket connections from an FE.
The LP channel MUST use SCTP-PR (partial reliability) with lower timeout values than the MP channel. PL priorities 1-2 MUST be used; PacketRedirect (priority 2) and Heartbeat (priority 1) MUST use the LP channel.
The SCTP ADDIP feature supports runtime IP address migration, enabling planned failover from one FE or CE to another as part of a provisioning recipe, complementing the multi-homing high-availability mechanism.
The SCTP multi-homing feature provides path diversity for high availability: if one peer IP address becomes unreachable, SCTP transparently uses others without requiring routing convergence or TML awareness.
The SCTP TML defines three priority channels: a Higher-Priority (HP) reliable channel on port 6704 with PPID 21, a Medium-Priority (MP) semi-reliable channel on port 6705 with PPID 22, and a Lower-Priority (LP) unreliable channel on port 6706 with PPID 23.
The TML core uses strict priority work-conserving scheduling across the three channels: HP messages are always processed first until exhausted, then MP, then LP. Under congestion, higher-priority channels can starve lower-priority ones.
TML parameterization (configured via FEM/CEM) includes CE/FE IP addresses or hostnames, whether to use IPsec and its cipher/key parameters, and the three SCTP port numbers for HP (default 6704), MP (default 6705), and LP (default 6706) channels.
IANA assigned SCTP ports 6704 (HP channel, ForCES-HP), 6705 (MP channel, ForCES-MP), and 6706 (LP channel, ForCES-LP), and SCTP Payload Protocol IDs 21, 22, and 23 for the HP, MP, and LP channels respectively.
IPsec (RFC 4301) is mandatory as the security mechanism for the SCTP TML. A ForCES FE or CE MUST support IKE with certificates for endpoint authentication, ESP in Transport Mode, HMAC-SHA1-96 for integrity, AES-CBC-128 for confidentiality, and replay protection.
On total connectivity loss of even one SCTP socket, both FE and CE SHOULD treat this as equivalent to a ForCES AssociationTeardown being issued and follow the shutdown sequence (close all three channel sockets, perform SCTP-level shutdown, clean up state).