140 likes | 268 Views
TIPC based TML for ForCES Protocol. Jon Maloy Shuchi Chawla Hormuzd Khosravi Furquan Ansari Jamal Hadi Salim 63 rd IETF Meeting, Paris. Topics. Similarities/Differences to TCP/IP TML Control/Data Channel Model Address Mapping Multicast Fulfilling Requirements.
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