Successfully reported this slideshow.
Your SlideShare is downloading. ×

Rina2020 taps rina-ocarina (1)

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Rina2020 michal
Rina2020 michal
Loading in …3
×

Check these out next

1 of 22 Ad

More Related Content

Slideshows for you (20)

Similar to Rina2020 taps rina-ocarina (1) (20)

Advertisement

Recently uploaded (20)

Advertisement

Rina2020 taps rina-ocarina (1)

  1. 1. Kristjon Ciko, Michael Welzl, Marcel Marek University of Oslo, Norway 7th International Workshop on the Recursive InterNetwork Architecture Paris, 24 February 2020 TAPS and RINA Do they fit together?
  2. 2. Kristjon Ciko Department of Informatics University of Oslo 24 February 2020 TAPS and RINA Do they fit together?
  3. 3. 1 RINA transport features TAPS and RINA The paper analyses RINA as a transport layer and investigates the possibility to enable RINA within TAPS Background
  4. 4. Background & motivation RINA transport features TAPS and RINA
  5. 5. 2 RINA can provide simpler, more secure and powerful tools than the TCP/IP architecture for building future networks Benefits of RINA: ✦ Security ✦ Multi-homing ✦ Mobility ✦ Quality of Services (QoS)
  6. 6. 3 However, gradually deploying RINA in the current Internet requires challenging approaches ✦ RINA is a novel network architecture developed from scratch ✦ It is drastically different from the current Internet ✦ The Internet’s nature does not easily allow architectural diversity
  7. 7. 4 TAPS is a new transport API that has been addressing the challenge of deploying new protocols ✦ It exposes a set of transport services (provided by several transport protocols) to the applications ✦ Protocol-independent, asynchronous and message-based ✦ It provides ”racing” and fall-back mechanisms ✦ Implemented in latest versions of Apple’s Network.framework
  8. 8. 5 TAPS is a new transport API that has been addressing the challenge of deploying new protocols
  9. 9. 6 In this paper, we investigate the possibility to adopt RINA below the TAPS API
  10. 10. Background & motivation RINA transport features TAPS and RINA
  11. 11. 7 In RINA, each IPC process is a container that provides security, management, transport and routing [ M. Tarzan, L. Bergesio, E. Grasa. "Error and Flow Control Protocol design and implementation: a data transfer protocol for the Recursive Internetwork Architecture". February 2019. ]
  12. 12. 8 RINA’s transport features are offered by its data transfer protocol (EFCP) in cooperation with other modules
  13. 13. 8 RINA’s transport features are offered by its data transfer protocol (EFCP) in cooperation with other modules ✦ Connection-related functions o Authentication o Allocate / Deallocate flow o Modify flow Flow Allocator + CACEP
  14. 14. 8 RINA’s transport features are offered by its data transfer protocol (EFCP) in cooperation with other modules ✦ Connection-related functions ✦ Delimiting functions o Fragmentation / Reassembly o Concatenation / Separation SDU Delimiting
  15. 15. 8 RINA’s transport features are offered by its data transfer protocol (EFCP) in cooperation with other modules ✦ Connection-related functions ✦ Delimiting functions ✦ Integrity functions o Encryption o Compression o Error detection & correction o Time To Live SDU Protection
  16. 16. 8 RINA’s transport features are offered by its data transfer protocol (EFCP) in cooperation with other modules ✦ Connection-related functions ✦ Delimiting functions ✦ Integrity functions ✦ Data transfer functions o Send / Receive o Sequencing o Retransmission control o Flow control o Congestion control EFCP (DTP + DTCP)
  17. 17. 9 Feature overview of RINA and currently available transport protocols [ Adapted from M. Welzl, S. Jorer and S. Gjessing, "Towards a Protocol-Independent Internet Transport API," 2011 IEEE International Conference on Communications Workshops (ICC), Kyoto, 2011, pp. 1-6. ] Connection oriented Flow ctrl. Congestion ctrl. App.PDU bundling Error detection Reliability Delivery type Delivery order Multi- streaming Multi- homing TCP x x x 0/1 x t s o UDP x m u UDP-Lite x/p1 m u DCCP x x 2/3/4 x/p1 m u SCTP x x x 0/1 x t/p2 m o/u 0/1 0/1 RINA x x 0/1 0/1 x t/p2 s/m o/u x x x – the service is always provided; 0/1 – the service can be turned on or off; 2/3/4 – there is a choice between CCIDs; p1 – partial error detection; t – total reliability; p2 – partial reliability; s – stream; m – message; o – ordered; u – unordered;
  18. 18. Background & motivation RINA transport features TAPS and RINA
  19. 19. 10 Mappings between TAPS Minimal Set of Services* and RINA transport features ✦ “Yes” – Transport features clearly map between TAPS and RINA ✦ “Maybe” – Possible mappings (require some specific implementation effort) ✦ “?” – Unclear mappings ✦ “No” – Impossible mappings * TAPS MinSet – the Minimal Set of transport features that require “application-specific” knowledge and can fallback to TCP or UDP
  20. 20. 11 TAPS Minimal Set of Services ó RINA Hand over a message to reliably transfer before connection establishment ? Currently being discussed (“A UNIT DATA” in an internal specification document). Specify DSCP field ? The mapping of RINA’s QoS Cubes to DSCP values is unclear, but should be achievable. Enable and configure a “Low Extra Delay Background Transfer” ? The mapping of RINA’s QoS Cubes to such a service is unclear, but should be achievable. Notification of ICMP error message arrival ? CDAP provides somewhat similar functionality, but mapping to ICMP is unclear. ? – Unclear mappings
  21. 21. TAPS Minimal Set of Services ó RINA Get max. message size that can be sent without fragmentation x Control over fragmentation is not exposed in RINA. Close after reliably delivering all data, informing the peer application x Only Deallocate flow is available, but it does not ensure delivery of remaining data. Information about partial message arrival x If partial delivery is enabled on the connection then message can be read in parts. However, the application is not informed if a particular message is partial or complete. Obtain ECN field x Checked by the DTCP TransmissionControl policy, and not exposed to applications. Notification that the stack has no more user data to transfer x Not available in the API. Disable parallel use of multiple paths x Not available in the API. Choose a scheduler to operate between streams of an association x Not available in the API. Congestion control on/off for reliable data transfer x Not available in the API. Suggest timeout to the peer x Not available in the API. x – Impossible mappings 12
  22. 22. 13 1. Notification that the stack has no more user data to transfer 2. Get max. message size that can be sent without fragmentation Questions? In conclusion, we recommend two changes to the RINA API for a better integration of RINA into TAPS

×