140 likes | 247 Views
This presentation delves into TIPC-based Transport Message Layer (TML) as it relates to the ForCES protocol, presented by Jon Maloy, Shuchi Chawla, Hormuzd Khosravi, Furquan Ansari, and Jamal Hadi Salim during the 63rd IETF Meeting in Paris. Key topics include comparisons with TCP/IP TML, control/data channel models, address mapping, multicast support, reliability, timeliness, and performance considerations. The discussion highlights how TIPC functions as a reliable control channel and a best-effort data channel, addressing network constraints and requirements for security, reliability, and congestion control.
E N D
TIPC based TML for ForCES Protocol Jon Maloy Shuchi Chawla Hormuzd Khosravi Furquan Ansari Jamal Hadi Salim 63rd IETF Meeting, Paris
Topics • Similarities/Differences to TCP/IP TML • Control/Data Channel Model • Address Mapping • Multicast • Fulfilling Requirements
Comparison to TCP based TML • Similar, multiplex/demultiplex model • No 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
Connection/Channel Model Connectionless SOCK_RDM TIPC CE CE Object FB X FB Y Reliable Connection” as Control Channel “Best Effort” Connection” as Data Channel TIPC FE FE Object LFB 1 LFB 2
Address Mapping CE 8 tml_init(ce=8) CE Object TML API bind(CE_CTRL_TYPE,8) TIPC API TIPC FE 5 TIPC API connect(CE_CTRL_TYPE,8) FE Object TML API tml_open(ce=8)
Address Mapping CE 8 CE Object send_ctrl(fe = 5,lfb_type=6, lfb_inst = 2) FB Y TIPC FE 5 FE Object LFB 6,2
Address Mapping, Multicast CE 8 CE Object TML API TIPC API TIPC FE 5 TIPC API bind(mcid,5) FE Object TML API tml_join(mcid)
Address Mapping,Multicast CE 8 CE Object send_mc(mcid=4,lfb_type=6, lfb_inst = 2) FB Y TIPC FE 5 FE Object LFB 6,2
Fulfilling Requirements(1) • 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(2) • 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
To Consider… CE 8 CE Object FB Y TIPC FE 5 LFB 6,2 TIPC API bind(6,2) FE Object FORCES API forces_bind(lfb_type=6,inst=2)
To Consider… CE 8 FORCES API forces_send([fe = 5,] lfb_type=6,inst = 2) CE Object sendto([5],6,2) TIPC API FB Y Control traffic: Reliable connectionless (SOCK_RDM) Data traffic: Best Effort connectionless (SOCK_DGRAM) TIPC FE 5 LFB 6,2 TIPC API recvfrom() FE Object FORCES API forces_recv()
To Consider… • Should generic PL layer according to spec really be mandatory ?? • A service description of the ForCES communication service may be sufficient, and less restrictive