TIPC based TML for ForCES Protocol
description
Transcript of TIPC based TML for ForCES Protocol
1
TIPC based TML for ForCES Protocol
Jon MaloyShuchi ChawlaHormuzd KhosraviFurquan AnsariJamal Hadi Salim
63rd IETF Meeting, Paris
2
Topics
Similarities/Differences to TCP/IP TML Control/Data Channel Model Address Mapping Multicast Fulfilling Requirements
3
Similar, multiplex/demultiplex modelNo TML encapsulation Control channel based on reliable TIPC connection Data channel based on “best effort” TIPC connection
–No “transport-on-transport” problem
Limited to closed LAN networks (one chassis) for now Performance No configuration required
–FE/CE ids map directly to TIPC addresses
Neighbour detection for free
Comparison to TCP based TML
4
Connection/Channel Model
FE Object
CE Object
FE
CE
TIP
CLFB 1 LFB 2
FB X FB Y
Connectionless SOCK_RDM TIPC
“Best Effort” Connection” as Data Channel
Reliable Connection” as Control Channel
5
Address Mapping
FE 5
CE 8
TIP
C
TIPC API
TML APItml_init(ce=8)
bind(CE_CTRL_TYPE,8)
CE Object
TIPC API
TML API tml_open(ce=8)
connect(CE_CTRL_TYPE,8) FE Object
6
Address Mapping
FE Object
CE Object
FE 5
CE 8
TIP
CLFB 6,2
FB Ysend_ctrl(fe = 5,lfb_type=6, lfb_inst = 2)
7
Address Mapping, Multicast
FE 5
CE 8
TIP
C
TIPC API
TML API CE Object
TIPC API
TML APIFE
Objectbind(mcid,5)
tml_join(mcid)
8
Address Mapping,Multicast
FE Object
CE Object
FE 5
CE 8
TIP
CLFB 6,2
FB Ysend_mc(mcid=4,lfb_type=6, lfb_inst = 2)
9
Reliability– Reliable transport in all modes
– Can be made unreliable per socket/direction
Security– Only secure within closed networks.
– No explicit authentication/encryption support yet, but planned
– Not IP-based, no router will forward TIPC messages!!
Congestion Control– At three levels: Connection/Transport, Signalling Link and Carrier
level– Will give feedback to PL layer if connection is broken
Multicast/Broadcast– Supported
Fulfilling Requirements(1)
10
Timeliness– Immediate delivery (No Nagle algorithm)
– Inter-node delivery time in the order of 100 microseconds
HA Considerations– L2 link failure detection and failover handled transparently for user
– Connection abortion with error code if no redundant carrier available
– Peer node failure detection after 0.5-1.5 seconds
Encapsulation– No TML layer encapsulaton
Priorities– Supports 4 message importance priorities, determining congestion
levels and abort/rejection levels
Fulfilling Requirements(2)
11
Questions ???
12
To Consider…
FE 5
CE 8
FB Y
TIPC API
FORCES API
forces_bind(lfb_type=6,inst=2)
bind(6,2)LFB 6,2
FE Object
CE Object
TIP
C
13
To Consider…
FE 5
CE 8
TIPC API
FORCES API
FB Y
TIPC API
FORCES API
forces_recv()
recvfrom()LFB 6,2
FE Object
CE Object
TIP
C
forces_send([fe = 5,] lfb_type=6,inst = 2)
sendto([5],6,2)
Control traffic: Reliable connectionless (SOCK_RDM)
Data traffic: Best Effort connectionless (SOCK_DGRAM)
14
Should generic PL layer according to spec really be mandatory ??
A service description of the ForCES communication service may be sufficient, and less restrictive
To Consider…